Foros del Web » Programando para Internet » Javascript »

Enviar valor de pagina hija a padre

Estas en el tema de Enviar valor de pagina hija a padre en el foro de Javascript en Foros del Web. Vamos al grano , lo que intento hacer es enviar 2 valores a mas desde una pagina hija a una padre y aprescan en los ...
  #1 (permalink)  
Antiguo 09/05/2014, 12:01
Avatar de nexus44  
Fecha de Ingreso: octubre-2012
Ubicación: Piura
Mensajes: 108
Antigüedad: 11 años, 6 meses
Puntos: 1
Exclamación Enviar valor de pagina hija a padre

Vamos al grano , lo que intento hacer es enviar 2 valores a mas desde una pagina hija a una padre y aprescan en los input's del formulario del padre ; pero ingreso diferentes dígitos se me repite el mismo al momento de enviarlo ala pagina padre. y si coloco a y b ; deberia ser asi pero en este caco los dos me salen b y b

Aqui mi codigo :

index.php => Pagina padre

Código HTML:
Ver original
  1. <html>
  2. <head>
  3. <script language="javascript">
  4. function Open()
  5. {
  6. var sValue = window.showModalDialog('proceso.php','SelectValueWindow');
  7.  
  8. document.getElementById("Text1").value = sValue;
  9. document.getElementById("Text2").value = sValue;
  10.  
  11. }
  12. </script>
  13. </head>
  14. <body>
  15. <form name="frm">
  16. <P>Ventana padre</P>
  17. <P>
  18. <INPUT id="Text1" type="text" name="Text1">
  19. <INPUT id="Text2" type="text" name="Text2">
  20.  
  21.  
  22. <INPUT id="Button1" type="button" value="Button" name="Button1" onClick="Open();">
  23. </P>
  24. </form>
  25. </body>
  26. </html>

proceso.php => Pagina hija

Código HTML:
Ver original
  1. <html>
  2. <head>
  3. <script language="javascript">
  4. function Close()
  5. {
  6. window.returnValue = document.frm.Text1.value;
  7. window.returnValue = document.frm.Text2.value;
  8.  
  9. window.close();
  10. }
  11. </script>
  12. </head>
  13. <body>
  14. <form name="frm">
  15. <P>Ventana Hijo</P>
  16. <P>
  17. <INPUT id="Text1" type="text" name="Text1">
  18. <INPUT id="Text2" type="text" name="Text2">
  19.  
  20. <INPUT id="Button1" onClick="Close();" type="button" value="Button" name="Button1"></P>
  21. </form>
  22. </body>
  23. </html>
__________________

"Nuestra capacidad se aleja de la Humanidad"
  #2 (permalink)  
Antiguo 09/05/2014, 16:23
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: Enviar valor de pagina hija a padre

Php no sabe de páginas (ventanas) hijas, padres, tías, etc... eso es cosa del cliente, específicamente, Javascript.

Muevo tu tema al foro correspondiente.
__________________
- León, Guanajuato
- GV-Foto
  #3 (permalink)  
Antiguo 09/05/2014, 22:17
Avatar de nexus44  
Fecha de Ingreso: octubre-2012
Ubicación: Piura
Mensajes: 108
Antigüedad: 11 años, 6 meses
Puntos: 1
Respuesta: Enviar valor de pagina hija a padre

Perdón por interrumpir los procesos ; Triby.

Alguien que me pueda ayudar? Saludos!
__________________

"Nuestra capacidad se aleja de la Humanidad"
  #4 (permalink)  
Antiguo 09/05/2014, 23:28
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: Enviar valor de pagina hija a padre

Esto es problema de lógica, porque no puedes asignar dos valores a un mismo elemento, en este caso, window.returnValue, es lo mismo que si haces:

Código Javascript:
Ver original
  1. jsvar = "Valor1";
  2. jsvar = "Valor2";
  3.  
  4. alert(jsvar);

El valor siempre será el último asignado.

Creo que deberías devolver un array:
Código PHP:
Ver original
  1. // Dentro de la función close de la página hija:
  2. window.returnValue = [document.frm.Text1.value, document.frm.Text2.value];
  3.  
  4. // Dentro de la función open en la página padre:
  5. document.getElementById("Text1").value = sValue[0];
  6. document.getElementById("Text2").value = sValue[1];
__________________
- León, Guanajuato
- GV-Foto
  #5 (permalink)  
Antiguo 09/05/2014, 23:42
Avatar de nexus44  
Fecha de Ingreso: octubre-2012
Ubicación: Piura
Mensajes: 108
Antigüedad: 11 años, 6 meses
Puntos: 1
Respuesta: Enviar valor de pagina hija a padre

Muy amable , Triby por su respuesta ; funciona perfectamente.
Gracias.
__________________

"Nuestra capacidad se aleja de la Humanidad"
  #6 (permalink)  
Antiguo 10/05/2014, 22:03
Avatar de nexus44  
Fecha de Ingreso: octubre-2012
Ubicación: Piura
Mensajes: 108
Antigüedad: 11 años, 6 meses
Puntos: 1
Respuesta: Enviar valor de pagina hija a padre

Si bien es cierto lo resolví el problema de manera , como Triby indico ; pero ahora lo que quiero es adaptarlo , a codigo php ; por lo que tengo un listado general de registro y al seleccionar un registro me capture el codigo y me lo envie al formulario padre.
Aqui mi codigo:

index.php => padre
Código PHP:
Ver original
  1. <script language="javascript">
  2. function Open()
  3. {
  4. var sValue = window.showModalDialog('proceso.php','SelectValueWindow');
  5.  
  6. document.getElementById("clicodigo").value = sValue[0];
  7. //document.getElementById("Text2").value = sValue[1];
  8.  
  9. }
  10. </script>
  11. <input type="text" id="clicodigo" name="clicodigo">
  12. <INPUT id="Button1" type="button" value="Button" name="Button1" onClick="Open();">

proceso.php =>Hijo
Código PHP:
Ver original
  1. <script language="javascript">
  2. function Close()
  3. {
  4. window.returnValue = [document.frm.clicodigo.value];
  5. window.close();
  6. }
  7. </script>
  8.     <form method="post" action="" enctype="multipart/form-data" name="frm" id="frm">
  9.               <div class="input-append">
  10.                 <input name="bus" type="text" class="span2" size="60" list="characters" placeholder="Buscar">
  11.                 <datalist id="characters">
  12.                       <?php
  13.                       include("../conexion.php");
  14.                         $buscar=$_POST['bus'];
  15.                         $can=mysql_query("SELECT * FROM clientes");
  16.                         while($dato=mysql_fetch_array($can)){
  17.                             echo '<option value="'.$dato['codigo'].'">';
  18.                             echo '<option value="'.$dato['nombres'].'">';
  19.                         }
  20.                       ?>
  21.                 </datalist>
  22.                     <button class="btn" type="submit">Buscar </button>
  23.                    
  24.                                   </div>
  25.               </td>
  26.   </tr>
  27. </table>
  28. <div align="center">
  29. <table width="80%" border="1" class="table table-striped" align="center">
  30.   <tr class="info">
  31.     <td colspan="10"><p align="center"><strong>Listado de Clientes : Registrados</strong></p></td>
  32.   </tr>
  33.   <tr>
  34.     <td width="5%"><div align="center"><strong>Codigo</strong></div></td>
  35.     <td width="11%"><div align="center"><strong>Nombres</strong></div></td>
  36.     <td width="10%"><div align="center"><strong>Apellidos</strong></div></td>
  37.     <td width="11%"><div align="center"><strong>Email</strong></div></td>
  38.     <td width="11%"><div align="center"><strong>Tel&eacute;fono</strong></div></td>
  39.     <td width="10%"><div align="center"><strong>Celular</strong></div></td>
  40.     <td width="10%"><div align="center"><strong>Ciudad</strong></div></td>
  41.     <td width="10%"><div align="center"><strong>Direcci&oacute;n</strong></div></td>
  42.     <td width="10%"><div align="center"><strong>Estado</strong></div></td>
  43.    
  44.   </tr>
  45.     <?php
  46.     if(empty($_POST['bus'])){
  47.         $can=mysql_query("SELECT * FROM clientes");
  48.     }else{
  49.         $buscar=$_POST['bus'];
  50.         $can=mysql_query("SELECT * FROM clientes where codigo LIKE '$buscar%' or nombres LIKE '$buscar%'");
  51.     }  
  52.     while($dato=mysql_fetch_array($can)){
  53.         if($dato['estado']=="inactivo"){
  54.             $estado='<span class="label label-important">Inactivo</span>';
  55.         }else{
  56.             $estado='<span class="label label-success">Activo</span>';
  57.         }              
  58.     ?>
  59.   <tr>
  60.   <td><INPUT id="clicodigo" type="text" name="clicodigo" value="<?php echo $dato['codigo']; ?>" > </td>    
  61.       <td><div align="center"><?php echo $dato['nombres']; ?></div></td>
  62.       <td><div align="center"><?php echo $dato['apellidos']; ?></div></td>    
  63.       <td><div align="center"><?php echo $dato['email']; ?></div></td>  
  64.       <td><div align="center"><?php echo $dato['telefono']; ?></div></td>  
  65.       <td><div align="center"><?php echo $dato['celular']; ?></div></td>
  66.       <td><div align="center"><?php echo $dato['ciudad']; ?></div></td>    
  67.       <td><div align="center"><?php echo $dato['direccion']; ?></div></td>
  68.       <td><div align="center"><?php echo $dato['estado']; ?></div></td>    
  69.    
  70.      <td><INPUT id="Button1" onClick="Close();" type="button" value="Button" name="Button1"></td>
  71.     </tr>
  72.     <?php } ?>
  73. </table>
  74.  </form>
__________________

"Nuestra capacidad se aleja de la Humanidad"
  #7 (permalink)  
Antiguo 12/05/2014, 07:22
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: Enviar valor de pagina hija a padre

Parece que no tienes muy claro como funciona HTML + Javascript, porque estás creando varios campos con el mismo nombre e id y, además, parece que solo necesitas el botón en cada línea y no el input con el código.

Tu función Javascript debería ser algo como:

Código Javascript:
Ver original
  1. function Close(codigo) {
  2.       window.returnValue = [codigo];
  3.       window.close();
  4. }

Y cada TR algo como:

Código PHP:
Ver original
  1. <tr>
  2.   <td><?php echo $dato['codigo']; ?></td>    
  3.       <td><?php echo $dato['nombres']; ?></td>
  4.       <td><?php echo $dato['apellidos']; ?></td>    
  5.       <td><?php echo $dato['email']; ?></td>  
  6.       <td><?php echo $dato['telefono']; ?></td>  
  7.       <td><?php echo $dato['celular']; ?></td>
  8.       <td><?php echo $dato['ciudad']; ?></td>    
  9.       <td><?php echo $dato['direccion']; ?></td>
  10.       <td><?php echo $dato['estado']; ?></td>
  11.    
  12.      <td><input onClick="Close('<?php echo $dato['codigo']; ?>');" type="button" value="Button" name="Button1[]"></td>
  13.     </tr>

Por cierto, no necesitas agregar divs o párrafos dentro de cada celda (td) para aplicar estilos, eso lo puedes hacer fácilmente con CSS.
__________________
- León, Guanajuato
- GV-Foto

Etiquetas: informacion, php
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 12:13.