[Php-avanzado] problema con XMLHttpRequest

Ariel Fernández arielf05 en gmail.com
Vie Jun 14 00:26:52 ART 2013


En principio sí, porque así como está, a lo sumo, estás generando un solo
elemento que contiene tooooodo lo que está entre comillas. De todas formas,
está mal declarado también. Cuando corrijas esas dos cosas vas a poder
probar el resto.
Ah, y el ejercicio era provincias y localidades. Al seleccionar una
provincia, que cargue en otro select, las localidades correspondientes.
Pero bueno, la implementación sería la misma.


De nada.
Saludos.




El 14 de junio de 2013 00:17, leandro saubiette
<saubietteleandro en gmail.com>escribió:

> Todo sirve mañana lo aplico, mi problema es que cuando quiero seleccionar
> el país y que se cargue el select con las provincias no carga, lo quise
> hacer con array para no perder tanto tiempo con armar la bd con las tablas
> y los datos será por declarar mal el array?
>
> Gracias
> El jun 14, 2013 12:10 a.m., "Ariel Fernández" <arielf05 en gmail.com>
> escribió:
>
> Hola, no dijiste cuál es el problema, pero para empezar, y según lo que he
>> aprendido, tenés mal definidos los array, ya que cada valor va entre
>> comillas, y cada uno separado a su vez por comas. Además, se utiliza new
>> Array y no array.
>> Ej:
>> var arrProv = new Array(
>> "Buenos Aires",
>>  "Buenos Aires-GBA",
>> "Capital Federal",
>>  "Catamarca",
>> "Chaco"
>> )
>>
>>
>>
>> var url = "Ejercicio7.php?codProv="+ escape(codProv); ->*Esta linea que
>> haria?*
>> *Ésta línea arma la url con el valor seleccionado del campo select
>> llamado paises, el cual especificaste en:*
>> var codProv = document.getElementById('paises').options[document.
>> getElementById('paises').selectedIndex].value;
>>
>>
>>
>> xmlHttp.send(null); -> * Vi en el modulo que aca se envia "nombre=?" +
>> escape(nombre) no entendi esta parte googleando vi que tmb envian null*
>> xmlHttp.open("GET",url,true);*->aca envia la url con el codigo de la
>> provincia? Se puede enviar por POST?*
>> *Sí, se puede, pero es ligeramente diferente. Mirá acá para tener una
>> guía:*
>> *
>> http://www.cristalab.com/tutoriales/enviar-datos-por-post-y-get-en-ajax-en-una-funcion-c237l/
>> *
>> *
>> *
>> *
>> *
>> *
>> *
>> *Lo de la carga dinámica del select es una de las opciones, la otra
>> sería generarlo con php y consultas a una tabla.*
>> *
>> *
>> *
>> *
>> Espero que te sirva.
>> Saludos
>> *
>> *
>> *
>> *
>>
>>
>> El 13 de junio de 2013 11:37, leandro saubiette <
>> saubietteleandro en gmail.com> escribió:
>>
>>> Gente paso este codigo haber si alguien me puede ayudar quisiera cargar
>>> mediante ajax las provincias segun el pais seleccionado, es el ejercicio 7
>>> de la clas de js
>>>
>>> Muchas gracias
>>>
>>>
>>>
>>> var xmlHttp = new XMLHttpRequest();
>>>
>>>
>>> var argentina=array("Ciudad de Buenos Aires,Buenos
>>> Aires,Catamarca,Chaco,Chubut,Córdoba,Corrientes,Entre Ríos,Formosa,Jujuy,La
>>> Pampa,La Rioja,Mendoza,Misiones,Neuquén,Río Negro,Salta,San Juan,San
>>> Luis,Santa Cruz,Santa Fe,Santiago del Estero,Tierra del Fuego,Tucumán");
>>>
>>>
>>>
>>> var argelia = array("Adrar,Aïn Témouchent,Annaba,Argel,Aïn
>>> Defla,Batna,Biskra,Blida,Bordj Bou
>>> Arréridj,Bouira,Boumerdès,Bujía,Béchar,Chlef,Constantina,Djelfa,El
>>> Bayadh,El Oued,El
>>> Tarf,Ghardaïa,Guelma,Jijel,Khenchela,Laghouat,M_Sila,Médéa,Mila,Mostaganem,Muaskar,Naama,Orán,Ouargla,Oum
>>> el-Bouaghi,Relizan,Saida,Sidi Bel Abbes,Skikda,Provincia de Souk
>>> Ahras,Sétif,Tamanghasset,Tiaret,Tinduf,Tipasa,Tissemsilt,Tizi
>>> Ouzou,Tlemecén,Tébessa");
>>>
>>> var xmlHttp = new XMLHttpRequest();
>>> var argentina=array("Ciudad de Buenos Aires,Buenos
>>> Aires,Catamarca,Chaco,Chubut,Córdoba,Corrientes,Entre Ríos,Formosa,Jujuy,La
>>> Pampa,La Rioja,Mendoza,Misiones,Neuquén,Río Negro,Salta,San Juan,San
>>> Luis,Santa Cruz,Santa Fe,Santiago del Estero,Tierra del Fuego,Tucumán");
>>> var argelia = array("Adrar,Aïn Témouchent,Annaba,Argel,Aïn
>>> Defla,Batna,Biskra,Blida,Bordj Bou
>>> Arréridj,Bouira,Boumerdès,Bujía,Béchar,Chlef,Constantina,Djelfa,El
>>> Bayadh,El Oued,El
>>> Tarf,Ghardaïa,Guelma,Jijel,Khenchela,Laghouat,M_Sila,Médéa,Mila,Mostaganem,Muaskar,Naama,Orán,Ouargla,Oum
>>> el-Bouaghi,Relizan,Saida,Sidi Bel Abbes,Skikda,Provincia de Souk
>>> Ahras,Sétif,Tamanghasset,Tiaret,Tinduf,Tipasa,Tissemsilt,Tizi
>>> Ouzou,Tlemecén,Tébessa");
>>> function callServer()
>>> {
>>> //Obtiene el nombre escrito a medida que se escribe
>>> var codProv =
>>> document.getElementById('paises').options[document.getElementById('paises').selectedIndex].value;
>>>  //Sigo solo si hay datos
>>>  if((codProv == null) ||(codProv==""))
>>>  {
>>> return;
>>> }
>>>  //Arma URL
>>>  var url = "Ejercicio7.php?codProv="+ escape(codProv);
>>>  // Abro conexion con el servidor
>>>  xmlHttp.open("GET",url,true);
>>>  //Determino la funcion que se va a ejecutar cuando se obtiene la
>>> respuesta del servidor
>>>  xmlHttp.onredystatechange = updatePage;
>>>  //Envio la peticion
>>>  xmlHttp.send(null);
>>>  //Funcion que actualiza la pagina con la respuesta
>>>  function updatePage()
>>> {
>>> if(xmlHttp.readyState == 4)
>>>  {
>>> if(codProv == "ar")
>>>  for(f=0;f< argentina.length();f++)
>>>     {
>>>       var op=document.createElement('option');
>>>       var
>>> texto=document.createTextNode(argentina[f].firstChild.nodeValue);
>>>       op.appendChild(texto);
>>>       document.getElementById("provincias").appendChild(op);
>>>     }
>>> }
>>> }
>>>
>>>
>>>
>>> function callServer()
>>> {
>>> //Obtiene el nombre escrito a medida que se escribe
>>> var codProv =
>>> document.getElementById('paises').options[document.getElementById('paises').selectedIndex].value;
>>>  //Sigo solo si hay datos
>>>  if((codProv == null) ||(codProv==""))
>>>  {
>>> return;
>>> }
>>>  //Arma URL
>>>
>>>
>>> var url = "Ejercicio7.php?codProv="+ escape(codProv); ->*Esta linea que
>>> haria?*
>>>  // Abro conexion con el servidor
>>>  xmlHttp.open("GET",url,true);*->aca envia la url con el codigo de la
>>> provincia? Se puede enviar por POST?*
>>>  //Determino la funcion que se va a ejecutar cuando se obtiene la
>>> respuesta del servidor
>>>  xmlHttp.onredystatechange = updatePage;
>>>  //Envio la peticion
>>>  xmlHttp.send(null); -> * Vi en el modulo que aca se envia "nombre=?" +
>>> escape(nombre) no entendi esta parte googleando vi que tmb envian null*
>>>  //Funcion que actualiza la pagina con la respuesta
>>>  function updatePage()
>>> {
>>> if(xmlHttp.readyState == 4)
>>>  {
>>> if(codProv == "ar")
>>>  for(f=0;f< argentina.length();f++)
>>>     {
>>>       var op=document.createElement('option');
>>>       var
>>> texto=document.createTextNode(argentina[f].firstChild.nodeValue);
>>>       op.appendChild(texto);
>>>       document.getElementById("provincias").appendChild(op);
>>>
>>> *este for lo hago para agregar OPTION al select de las provincias que
>>> es lo que quiero que se cargue dinamicamente tmb lo encontre en un foro*
>>>     }
>>>  }
>>> }
>>>
>>>
>>>
>>> Gracias
>>>
>>> _______________________________________________
>>> Php-avanzado mailing list
>>> Php-avanzado en pato2.fi.mdp.edu.ar
>>> http://www3.fi.mdp.edu.ar/cgi-bin/mailman/listinfo/php-avanzado
>>>
>>
>>
>> _______________________________________________
>> Php-avanzado mailing list
>> Php-avanzado en pato2.fi.mdp.edu.ar
>> http://www3.fi.mdp.edu.ar/cgi-bin/mailman/listinfo/php-avanzado
>>
>
> _______________________________________________
> Php-avanzado mailing list
> Php-avanzado en pato2.fi.mdp.edu.ar
> http://www3.fi.mdp.edu.ar/cgi-bin/mailman/listinfo/php-avanzado
>
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://www3.fi.mdp.edu.ar/pipermail/php-avanzado/attachments/20130614/99a55175/attachment-0001.html>


Más información sobre la lista de distribución Php-avanzado