Foros del Web » Programando para Internet » Javascript »

Ayuda pasando valores de un popup a ventana padre

Estas en el tema de Ayuda pasando valores de un popup a ventana padre en el foro de Javascript en Foros del Web. 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, ...
  #1 (permalink)  
Antiguo 25/01/2010, 20:14
 
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
  #2 (permalink)  
Antiguo 26/01/2010, 02:05
Avatar de ceSharp  
Fecha de Ingreso: octubre-2008
Ubicación: Madrid
Mensajes: 495
Antigüedad: 16 años
Puntos: 66
Respuesta: Ayuda pasando valores de un popup a ventana padre

hola Agrus,

para comunicarte con la página padre (llamar a funciones, cambiar variables, etc) utiliza top.opener, no window.opener.

prueba y nos cuentas.

salu2

Etiquetas: padre, pasando, popup, ventanas
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 09:20.