Esto me funciona en IE7 y Firefox.
Pido su ayuda para que esto también funcione en IE6.
Además cada vez que presiona el link para abrir el pupop este se refresca como corresponde. pero no cuando se actualiza la hija al agregar
Codigo php de pagina padre persona.php.
Código PHP:
<head>
…….
<script language="JavaScript" src="../js/recargacombo.js" type="text/javascript"></script>
…….
</head>
<body>
………
<select name=" codprevision" id=" codprevision" tabindex="15">
<?php
$prevision->lista_select(); // rellena las opciones
?>
</select>
…….
</body>
Código PHP:
<head></head>
<!--lamada a recarga de combox padre-->
<body onLoad="opener.cargaCombo('codprevision ')">
<!—codigo de editar, eliminar y agregar-->
</body>
Código PHP:
function nuevoAjax()
{
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;
}
function cargaContenido(idSelectDestino)
{
// Obtengo el elemento del select que debo cargar
var selectDestino=document.getElementById(idSelectDestino);
// Creo el nuevo objeto AJAX y envio al servidor el ID del select
var ajax=nuevoAjax();
ajax.open("GET", "../js/recargacombo.php?select="+idSelectDestino+"&tab="+selectDestino.tabIndex, true);
ajax.onreadystatechange=function()
{
if (ajax.readyState==4)
{
selectDestino.parentNode.innerHTML=ajax.responseText;
}
}
ajax.send(null);
}
Codigo de pagina php que llama javascript recagacombo.php
Código PHP:
<?php
require("../class/prevision.php");
$combo=$_GET["select"];
$index=$_GET["tab"];
if($combo == "codprevision")
{
echo "<select name=\"".$combo."\" id=\"".$combo."\" tabindex=\"".$index."\" >";
$obj = new previcion();
$obj->lista_select(); //crear las opciones del combox
echo "</select>";
}
?>
pd:
En la pagina hija agregue <body onLoad="opener.cargaCombo('codprevision ')"> ya que en esta pagina puede eliminar, editar y agregar previsión.
En la pagina padre esta la referencia al archivo js contiene la función cargaContenido