Tengo 3 ficheros:
clases.php (el cliente con el select y que muestra la elecion en un div)
Código:
talentos.php (el servidor que es llamado por GET)<script type="text/javascript" src="ajax/lib_ajax.js"></script>
<form>
<select name="clase" id="clase" onChange="EnviarPeticion('talentos.php?clase=','clase','talentos','true','true','true','false')">
<option selected >Elige clase</option>
<option >Paladín</option>
<option >Mago</option>
<option >Hechicero</option>
<option >Druida</option>
<option >Clérigo</option>
<option >Ladrón</option>
<option >Explorador</option>
<option >Guerrero</option>
<option >Amazona</option>
</select>
</form>
<div id=talentos><center><span id=estado></span>Selecciona una clase para cargar los talentos.</center>
Código:
lib_ajax.js (libreria con todo el ajax que poco a poco he conseguido crear)<? // Obtener el parametro enviado $claseget=$_GET["clase"]; echo "<br>Tu clase elegida es:<br>"; echo $claseget; ?>
Código:
Gracias, espero que alguien se tome la molestia en ayudarme.Saludos //PASO 1:
//Variable que recibira todos los parametros.
var ajax=new NuevoAjax(); //Creamos el ajax segun el navegador.
//ajax.overrideMimeType('text/xml');//Sobreescribimos cabecera (mas compatibilidad para navegadores).
//PASO 2:
function NuevoAjax(){ //Funcion que asignara el XMLHttpRequest segun el navegador
if(window.XMLHttpRequest){
navegador=new XMLHttpRequest(); //Para navegadores distintos de Internet Explorer
}else{ //Para Internet Explorer
navegador=new ActiveXObject("Microsoft.XMLHTTP");
}
return navegador;
}
var estado0=true;
var estado1=true;
var estado2=true;
var estado3=true;
function EnviarPeticion(url,idenvio,idcontenedor,estado0,estado1,estado2,estado3){
var contenedor=document.getElementById(idcontenedor);
//Paso 4: Creamos la peticion (GET)+(URL)+(TRUE=ENVIA).
ajax.open("GET",url+document.getElementById(idenvio).value,true);
//Ajax invoca 4 peticiones por proceso para comprobar el estado.
//Almacenaremos el estado, segun cambie. Para ello tenemos
//una funcion auxiliar "CallBack" que nos comprobara el estado de la peticion.
ajax.onreadystatechange=function CallBack(){//PASO 3: Nos comprueba el estado de la peticion.
//readyState:
//0 = sin inicializar
//1 = cargando
//2 = cargado
//3 = interactivo
//4 = completo
if(ajax.readyState==0 && estado0==true){
document.getElementById('estado').innerHTML="Iniciando...";
}
if(ajax.readyState==1 && estado1==true){
document.getElementById('estado').innerHTML="<img src='images/indicator.gif' border='0'>Cargando...";
}
if(ajax.readyState==2 && estado2==true){
document.getElementById('estado').innerHTML="Datos cargados";
}
if(ajax.readyState==3 && estado3==true){
document.getElementById('estado').innerHTML="Interactuando con los datos...";
}
if(ajax.readyState==4){//Si el estado es 4 la peticion ha sido completada.
if(ajax.status==200){//Si la respuesta HTTP ha sido 200 se ha recibido correctamente.
//Escribimos el resultado (ajax.responseText).
document.getElementById('estado').innerHTML="Cargado completamente.";
contenedor.innerHTML = "<b>"+ajax.responseText+"</b>";
//ajax=new NuevoAjax();//Instanciamos otro nuevo ajax.
}else{
document.getElementById('estado').innerHTML = "<b>Error en el status"+ajax.status+"</b>";
//ajax=new NuevoAjax();//Instanciamos otro nuevo ajax.
}
}
}//Fin callback
//Paso 4: Enviamos la peticion (SEND)
ajax.send(null);
}

