|
|
Escrito por
Pyrata
el 7 de Enero
Bueno desde ya les comento que no soy muy sabio en lo que respecta a ajax diria que un aprendiz muy basico pero con artas ganas de experimentar. <? Php Aqui se supone es donde vuelco y lleno con php el primer combo hasta aqui todo bien el tema esta es que al seleccionar un elemento me llama funciones_select_dependientes_3_niveles. Js y en este archivo hay unas funciones que no logro entender porque no me hace nada tampoco me envia algun error.... Les dejo el script. function nuevoAjax(){ /* Crea el objeto AJAX. Esta funcion es generica para cualquier utilidad de este tipo, por lo que se puede copiar tal como esta aqui */ var xmlhttp=false; try { // Creacion del objeto AJAX para navegadores no IE xmlhttp=new ActiveXObject("Msxml2. XMLHTTP"); } catch(e) { try { // Creacion del objet AJAX para IE xmlhttp=new ActiveXObject("Microsoft. XMLHTTP"); } catch(E) { if (! Xmlhttp && typeof XMLHttpRequest! ="undefined") xmlhttp=new XMLHttpRequest(); } } return xmlhttp; } // Declaro los selects que componen el documento HTML. Su atributo ID debe figurar aqui. var listadoSelects=new Array(); listadoSelects[0]="select1"; listadoSelects[1]="select2"; listadoSelects[2]="select3"; function buscarEnArray(array, dato) { // Retorna el indice de la posicion donde se encuentra el elemento en el array o null si no se encuentra var x=0; while(array[x]) { if(array[x]==dato) return x; x++; } return null; } function cargaContenido(idSelectOrigen) { // Obtengo la posicion que ocupa el select que debe ser cargado en el array declarado mas arriba var posicionSelectDestino=buscarEnArray(listadoSelects, idSelectOrigen)+1; // Obtengo el select que el usuario modifico var selectOrigen=document. GetElementById(idSelectOrigen); // Obtengo la opcion que el usuario selecciono var opcionSeleccionada=selectOrigen. Options[selectOrigen. SelectedIndex]. Value; // Si el usuario eligio la opcion "Elige", no voy al servidor y pongo los selects siguientes en estado "Selecciona opcion..." if(opcionSeleccionada==0) { var x=posicionSelectDestino, selectActual=null; // Busco todos los selects siguientes al que inicio el evento onChange y les cambio el estado y deshabilito while(listadoSelects[x]) { selectActual=document. GetElementById(listadoSelects[x]); selectActual. Length=0; var nuevaOpcion=document. CreateElement("option"); nuevaOpcion. Value=0; nuevaOpcion. InnerHTML="Selecciona Opción... "; selectActual. AppendChild(nuevaOpcion); selectActual. Disabled=true; x++; } } // Compruebo que el select modificado no sea el ultimo de la cadena else if(idSelectOrigen! =listadoSelects[listadoSelects. Length-1]) { // Obtengo el elemento del select que debo cargar var idSelectDestino=listadoSelects[posicionSelectDestino]; var selectDestino=document. GetElementById(idSelectDestino); // Creo el nuevo objeto AJAX y envio al servidor el ID del select a cargar y la opcion seleccionada del select origen var ajax=nuevoAjax(); ajax. Open("GET", "combo1. Php? Select="+idSelectDestino+"&opcion="+opcionSeleccionada, true); ajax. Onreadystatechange=function() { if (ajax. ReadyState==1) { // Mientras carga elimino la opcion "Selecciona Opcion... " y pongo una que dice "Cargando..." selectDestino. Length=0; var nuevaOpcion=document. CreateElement("option"); nuevaOpcion. Value=0; nuevaOpcion. InnerHTML="Cargando... "; selectDestino. AppendChild(nuevaOpcion); selectDestino. Disabled=true; } if (ajax. ReadyState==4) { selectDestino=parentNode.innerHTML.ajax. ResponseText; } } ajax. Send(null); } } Y aca no entiendo bien, tan solo hice una modificacion que es esta linea. |
|
|
Citar |
Ver mensaje
|
|
|
Escrito por
J_orozco
el 3 de Marzo
Hola tu error se puede deber a que tienes espacios en una variable "op cionSeleccionada"
esta es tu linea: ajax. Open("GET", "combo1. Php? Select="+idSelectDestino+"&opcion="+op cionSeleccionada, true); solo quita esos espacios: ajax. Open("GET", "combo1. Php? Select="+idSelectDestino+"&opcion="+opcionSeleccionada, true); espero eso halla sido la causa suerte y buen dia |
|
Al escribir en el debate:
|