Ver Mensaje Individual
  #1 (permalink)  
Antiguo 25/01/2010, 20:14
Agrus
 
Fecha de Ingreso: septiembre-2009
Mensajes: 40
Antigüedad: 15 años, 2 meses
Puntos: 0
Ayuda pasando valores de un popup a ventana padre

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&iacute;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" >
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Introduzca el Nombre o la Cedula del Paciente:  
<input name="busqueda" type="text" />
&nbsp;&nbsp;

</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