13/04/2007, 09:39
|
| | Fecha de Ingreso: noviembre-2002 Ubicación: españa
Mensajes: 188
Antigüedad: 22 años, 1 mes Puntos: 0 | |
Re: Problema al ejecutar varias llamadas a AJAX Aqui les dejo el codigo javascript que he creado para ver donde falla:
function nuevoAjax()
{
xmlhttp = null; //para que funcione en firefox se necesita que la variable sea una variable global
if(window.XMLHttpRequest){
//mozilla compatible & IE7
xmlhttp = new XMLHttpRequest();
} else if (window.ActiveXObject) {
//IE 6
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
if(!xmlhttp) {
alert("Su navegador no soporta AJAX!");
}
return xmlhttp;
}
function updateOptions(option)
{
// Obtendo la capa donde se muestran las respuestas del servidor
var ciudad=document.getElementById("city");
// Creo el objeto AJAX
var ajax=nuevoAjax();
// Coloco el mensaje "Cargando..." en la capa del select
document.getElementById("scity").innerHTML="Cargan do...";
// Abro la conexión, envío cabeceras correspondientes al uso de POST y envío los datos con el método send del objeto AJAX
ajax.open("POST", "process.php", true);
ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
ajax.send("p="+option);
ajax.onreadystatechange=function()
{
if (ajax.readyState==4)
{
// Respuesta recibida. Coloco el texto plano en la capa correspondiente
ciudad.innerHTML=ajax.responseText;
}
}
}
HTML
<div class="select_buscar" id="country">
<select name="" size="1" class="select_buscar" dir="ltr">
<option selected="selected">Seleccione el pais</option>
<option value="1" onClick="javascript:updateOptions(1);">España</option>
<option value="2" onClick="javascript:updateOptions(2);">Francia</option>
<option value="3" onClick="javascript:updateOptions(3);">Portugal</option>
</select>
</div>
<div class="select_buscar" id="city"><select name="selectcity" id="selectcity" size="1" class="select_buscar" dir="ltr">
<option id="scity">Seleccionar ciudad</option>
</select></div>
La idea es que al hacer click en uno de los paises, por ejemplo españa, en el segundo select de ciudades se cargan las ciudades proporcionadas por una base de datos con ajax, hasta ahi todo bien, el problema viene cuando decido pulsar otra vez en otro pais como portugal que tiene tambien otras ciudades pero ya no me hace nada, es como si el script dejase de funcionar :S
__________________ Experto en todo y nada a la vez |