Buenas noches.
Publique esto en el foro de Ajax porque primero lo estaba intentando hacer asi pero luego lei un poco y es con JS, se que debo usar el metodo window.opener
Pero este ultimo no me funciona.
Desde la ventana padre llamo a un popup en el que el usuario ingresa valores para una consulta mysql, una vez que se hace la consulta y se traen los valores creo campos hidden con los valores obtenidos de la consulta ademas de un boton que llama a la funcion que en teoria pasa los valores del popup a la ventana padre.
Asi va el codigo del popup:
Código:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Documento sin título</title> <SCRIPT LANGUAGE="JavaScript">
function enviarDato(){
var cedula;
cedula=document.getElementById("cedula_pac").value;
/*var nombre=document.getElementById("nombre_pac").value;
var apellido=document.getElementById("apellido_pac").value;
var fecha_naci=document.getElementById("fecha_naci_pac").value;
var direccion=document.getElementById("direccion_pac").value;
var tlf_pac=document.getElementById("tlf_pac").value;
var tlf_fami=document.getElementById("tlf_familiar").value;
var fecha_ing=document.getElementById("fecha_ingreso").value;
var edad=document.getElementById("edad_pac").value;
var condicion=document.getElementById("condicion_medica").value;*/
window.opener.document.getElementById("cedula").value = cedula;
/*window.opener.document.getElementById("nombre_paciente").value = nombre;
window.opener.document.getElementById("apellido_paciente").value = apellido;
window.opener.document.getElementById("fecha_nacimiento").value = fecha_naci;
window.opener.document.getElementById("direccion_paciente").value = direccion;
window.opener.document.getElementById("telefono_paciente").value = tlf_pac;
window.opener.document.getElementById("tlf_familiar").value = tlf_fami;
window.opener.document.getElementById("fecha_ingreso").value = fecha_ing;
window.opener.document.getElementById("edad").value = edad;
window.opener.document.getElementById("condicion_medica").value = condicion; */
window.close();
return false;
}</SCRIPT>
<script type='text/JavaScript' src='scw.js'></script>
<script>
function comprobar(){var mal=false;
numero=document.forms[0].elements.length;
for(a=0;a<numero;a++){
if (document.forms[0].elements[a].value==""){document.forms[0].elements[a].style.backgroundColor="#ffffcc";mal=true;}
else{document.forms[0].elements[a].style.backgroundColor="white";}
}
if(mal){alert("Por favor, introduzca la Cedula del Paciente");}
else{document.forms[0].submit()}
}
</script>
</head>
<body>
<form action="buscarPaciente.php" method="post" name="buscar_paciente" >
Introduzca el Nombre o la Cedula del Paciente:
<input name="busqueda" type="text" />
</p><input name="" type="submit" value="Buscar" onclick="comprobar();"/>
<fieldset>
<legend>Resultado</legend>
<?php
require('conexion.php');
if($_POST) {
$busqueda=$_POST['busqueda'];
$verifica=mysql_query("DROP TABLE IF EXISTS paciente") or die(mysql_error);
$temporal="CREATE TABLE paciente SELECT * FROM pacientes;";
$crear=mysql_query($temporal) or die (mysql_error());
$cambiar=mysql_query("ALTER TABLE paciente ENGINE = MYISAM");
$eliminar_pk=mysql_query("ALTER TABLE paciente DROP primary key"); $cambiar_tipo=mysql_query("ALTER TABLE paciente CHANGE cedula_pac cedula_pac TEXT");
$alterar=mysql_query("ALTER TABLE paciente ADD FULLTEXT( nombre_pac, apellido_pac )");
if ($busqueda<>''){
$trozos=explode(" ",$busqueda);
$numero=count($trozos);
if ($numero==1) {
$cadbusca="SELECT * FROM hemodinamia.pacientes WHERE nombre_pac LIKE '%".$busqueda."%' OR apellido_pac LIKE '%".$busqueda."%' OR cedula_pac LIKE '%".$busqueda."%' LIMIT 20;";
} elseif ($numero>1) {
$cadbusca="SELECT * , MATCH ( nombre_paciente, apellido_paciente ) AGAINST ('".$busqueda."') AS score FROM proveedores WHERE MATCH ( nombre_paciente, apellido_paciente ) AGAINST ('".$busqueda."') ORDER BY nombre_paciente DESC LIMIT 50";
}
function limitarPalabras($cadena, $longitud, $elipsis = "..."){
$palabras = explode(' ', $cadena);
if (count($palabras) > $longitud)
return implode(' ', array_slice($palabras, 0, $longitud)) . $elipsis;
else
return $cadena;
}
echo "
<table width='91%' border='1px' style='width:100%;'>
<tbody>
<tr>
<td width='6%' class='Nombre'>Nombre</td>
<td width='13%' class='Apellido'>Apellido</td>
<td width='8%' class='Cedula'>Cedula</td>
<td width='7%' class='Fecha de Nacimiento'>Fecha de Nacimiento</td>
<td width='11%' class='Direccion'>Direccion</td>
<td width='15%' class='Telefono del Paciente'>Telefono del Paciente</td>
<td width='16%' class='Telefono del Familiar'>Telefono del Familiar</td>
<td width='12%' class='Fecha de Ingreso'>Fecha de Ingreso</td>
<td width='12%' class='Edad'>Edad</td>
<td width='12%' class='Condicion Medica'>Condicion Medica</td>
<td width='12%' class='Condicion Medica'></td>
</tr>";
$result=mysql_query($cadbusca) or die(mysql_error());
$i=1;
$row= array();
while ($row = mysql_fetch_array($result)){
echo "
<tr>
<td class=\"titulo\">".$row['nombre_pac']." <input name='cedula_pac' type='text' value='".$row['cedula_pac']."' /></td>
<td class=\"contenido\">".$row['apellido_pac']."</td> <input name='nombre_pac' type='hidden' value='".$row['nombre_pac']."' />
<td class=\"autor\">".$row['cedula_pac']."</td> <input name='apellido_pac' type='hidden' value='".$row['apellido_pac']."' />
<td class=\"titulo\">".$row['fecha_naci_pac']."</td> <input name='fecha_naci_pac' type='hidden' value='".$row['fecha_naci_pac']."' />
<td class=\"contenido\">".$row['direccion_pac']."</td> <input name='direccion_pac' type='hidden' value='".$row['direccion_pac']."' />
<td class=\"autor\">".$row['tlf_pac']."</td> <input name='tlf_pac' type='hidden' value='".$row['tlf_pac']."' />
<td class=\"titulo\">".$row['tlf_familiar']."</td> <input name='tlf_familiar' type='hidden' value='".$row['tlf_familiar']."' />
<td class=\"contenido\">".$row['fecha_ingreso']."</td> <input name='fecha_ingreso' type='hidden' value='".$row['fecha_ingreso']."' />
<td class=\"autor\">".$row['edad_pac']."</td> <input name='edad_pac' type='hidden' value='".$row['edad_pac']."' />
<td class=\"autor\">".$row['condicion_medica']."</td> <input name='condicion_medica' type='hidden' value='".$row['condicion_medica']."' />
<td class=\"autor\"><input name='modificar' type='button' value='Seleccionar' onclick='enviarDato();'/></td>
</tr>";
$i++;
}
}
}
?>
</tbody>
</table></form>
</fieldset>
Tengo comentadas algunas lineas para probar por lo menos un valor pero igual no hace nada. Una manito con esto por favor