Ver Mensaje Individual
  #1 (permalink)  
Antiguo 31/12/2008, 09:39
jlbruy
 
Fecha de Ingreso: octubre-2006
Mensajes: 18
Antigüedad: 18 años, 1 mes
Puntos: 0
Select dependientes me funciona con firefox y no con I.E.

tengo un codigo javascript y otro php; son selects dependientes.
La subzona, depende de la zona, el javascript por medio de objeto XMLHttpRequest envia durante el evento 'change' un id a un archivo php el cual llama a una funcion que, busca por ese id, y devuelve un responseText el cual es insertado (con innerHTML en el <td></td> donde va tabulado el select del formulario. ¿se entiende lo que trato de hacer? pues bien, el tema es que cuando lo pruebo en firefox, todo barbaro, pero cuando voy a una maquina con xp y su megainvento I.Eplorer , no anda.

Algo debo estar haciendo mal, voy a pegar el codigo aver si alguien que entienda más que yo me puede dar una mano:

el javascript (funciones.js):

addEvent(window,'load',inicializarEventos,false);

function inicializarEventos ()
{
var select1=document.getElementById('select1');
addEvent (select1,'change',mostrarSubzonas,false);
}

var conexion1;
function mostrarSubzonas ()
{
var codigo_zona=document.getElementById('select1').val ue;
if (codigo_zona!=0)
{
conexion1=crearXMLHttpRequest();
conexion1.onreadystatechange=procesarEventos;
conexion1.open('GET','../php/listar_subzonas_select.php?codigo_zona='+codigo_zo na,true);
conexion1.send(null);
}
}

function procesarEventos () {

var select2=document.getElementById("select2");
var carga=document.getElementById("carga");
if(conexion1.readyState == 4)
{
carga.innerHTML = '';
select2.innerHTML = conexion1.responseText;
}
else
{
carga.innerHTML = '<img src="../images/loading.gif">';
}

}



//***************************************
//Funciones comunes a todos los problemas
//***************************************
function addEvent(elemento,nomevento,funcion,captura)
{
if (elemento.attachEvent)
{
elemento.attachEvent('on'+nomevento,funcion);
return true;
}
else
if (elemento.addEventListener)
{
elemento.addEventListener(nomevento,funcion,captur a);
return true;
}
else
return false;
}

function crearXMLHttpRequest()
{
var xmlHttp=null;
if (window.ActiveXObject)
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
else
if (window.XMLHttpRequest)
xmlHttp = new XMLHttpRequest();
return xmlHttp;
}


A Continuación el codigo html, resultado de la pagina en php:

<table class='zonas' align='center'>
<FORM name='form' action='../php/ingresar_propiedad.php' method='post'>
<tr>
<td>Titulo:</td>

<td><input type='text' name='titulo' class='form_propiedades'></td>
</tr>
<tr>
<td>Descripci&oacute;n:</td>
<td><textarea name='descripcion' class='form_propiedades'></textarea></td>
</tr>
<tr>
<td>Zona</td>
<td><select id='select1' name='zonas' class='form_propiedades'><option value='0'>Seleccione la Zona</option><option value='1'>Maldonado</option><option value='2'>Punta del Este</option>

</td><span id='carga'></span>
</tr>
<tr>
<td>Sub-zona</td>
<td><select id='select2' name='subzonas' class='form_propiedades'></select></td>
</tr>
<tr>
<td>Operaci&oacute;n</td>
<td><select id='operacion' name='operacion' class='form_propiedades'><option value='0'>Seleccione el tipo de operacion</option><option value='1'>Venta</option><option value='2'>Alquiler</option>

</td>
</tr>
<tr>
<td>Tipo de Propiedad:</td>
<td><select id='tipo' name='tipo' class='form_propiedades'><option value='0'>Seleccione el tipo de propiedad</option><option value='1'>Casa</option><option value='2'>Apartamento</option></select></td>
</td>
</tr>
<tr>
<td>Precio:</td>

<td><input type='text' name='precio' class='form_propiedades'></td>
</tr>
<tr>
<td><input type='hidden' name='nivel' value='1'></td>
<td><input type='submit' value='Ingresar'></td>
</tr>
</FORM>
</TABLE>



Desde ya, gracias a la gente de forosdelweb por la posiblidad de un foro tan completo; y desde ya gracias a quien me tienda una mano.

Salute y feliz 2009!