31/12/2008, 09:39
|
| | 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ó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ó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! |