amigos tengo este script el cual me funiona en firefox pero en ie no. lo raro que si lo hago como funcion y lo llamo desde ahi funciona. la idea es que la pagina se cargue y el div se cargue con los datos de otra pagina, esto dependiendo del valor de un combobox que tengo antes. lo hago asi por que es una pagina para editar registros. la idea es que traiga los datos de un registro los presente y si el usuario cambia un valor combobox otro se genere dinamicamente., este es el cod.
Código PHP:
<td><select name="cmb_cip" id="cmb_cip" onchange="cargaCip()">
<?
$str_cip="Select cod_prestacion from prestaciones order by cod_prestacion";
//combo es una funcion que por medio de un bucle me genera los option y selecciona el que estoy buscando
combo ("cod_prestacion","cod_prestacion","","","$var_cod_prestacion",$str_cip,$connection);
?>
</select></td>
<td><input type="button" name="Submit5" value="Refrescar Pagina"></td>
<td width="351"> </td>
</tr>
<input type="hidden" name="text_prestcom" id="text_prestcom" value="<?echo $var_ID_PREST_COM;?>"/>
<!--de aqui el scipt que me carga los datos cuando se carga la pagina
no es el que carga los datos cuando hago clic en el combo, este es cuando se carga la pagina por primera vez, este es el que no me funciona.-->
<script languaje="javascript"> //este scritp es solo para cargar el codigo antes grabado
var valor=document.getElementById("cmb_cip").options[document.getElementById("cmb_cip").selectedIndex].value;
var pre = document.getElementById("text_prestcom").value;
dir= "procesa_filtro_cip.php?cip="+valor+"&valor="+pre;
ajax_cargador=nuevoAjax();
ajax_cargador.open("GET", dir, true);
ajax_cargador.onreadystatechange=function()
{
if (ajax_cargador.readyState==4)
{
document.getElementById("div_prest_com").innerHTML=ajax_cargador.responseText;
}
}
ajax_cargador.send(null);
</script>
<!--fin del script para cargar prestaciones comunes automaticas-->
<tr>
<td><strong>Descripcción</strong></td>
<td><strong>:</strong></td>
<td colspan="3">
<div id="div_prest_com"></div>
</td>
esta es la funcion nuevo ajax
Código PHP:
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) { xmlhttp=false; }
}
if (!xmlhttp && typeof XMLHttpRequest!='undefined') { xmlhttp=new XMLHttpRequest(); }
return xmlhttp;
}
esta es la funcioon que me muestra el combo box cuando hago clic en el que le envia datos, este me funciona sin problemas.
Código PHP:
function cargaCip()
{
var valor=document.getElementById("cmb_cip").options[document.getElementById("cmb_cip").selectedIndex].value;
ajax=nuevoAjax();
ajax.open("GET", "procesa_filtro_cip.php?cip="+valor, true);
ajax.onreadystatechange=function()
{
if (ajax.readyState==4)
{
document.getElementById("div_prest_com").innerHTML=ajax.responseText;
}
}
ajax.send(null);
}
como les decia en firefox funciona bien pero iexplorer no pasa nada.