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); }