Foros del Web » Programando para Internet » Javascript »

Pasar 3 cadenas de texto (de un texto en una popup a 3 textboxes )

Estas en el tema de Pasar 3 cadenas de texto (de un texto en una popup a 3 textboxes ) en el foro de Javascript en Foros del Web. Tengo el siguiente codigo (que funciona) en el cual hay una página madre y una POPUP.. la página madre tiene un formulario con un campo ...
  #1 (permalink)  
Antiguo 25/08/2006, 09:53
Avatar de cookie  
Fecha de Ingreso: agosto-2002
Mensajes: 688
Antigüedad: 22 años, 2 meses
Puntos: 0
Pasar 3 cadenas de texto (de un texto en una popup a 3 textboxes )

Tengo el siguiente codigo (que funciona) en el cual hay una página madre y una POPUP.. la página madre tiene un formulario con un campo que se llena por medio de una busqueda en una ventana popup, cuando el usuario le de click a una opcíon de una lista de texto (dentro de la popup) el contenido del texto a su vez se va al formulario que invoco la popup pero sin tener que "refrescar" la página

Pagina Madre
Código PHP:
<!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>Untitled Document</title> 
<script type="text/JavaScript"> 

function MM_openBrWindow(theURL,winName,features) { 
window.open(theURL,winName,features); 


</script> 

<script> 
function addToParentList2(valor1) { 
window.document.form1.NOMBOPERADOR.value = valor1.value; 

</script> 

</head> 

<body> 
<form id="form1" name="form1" method="post" action=""> 
<p> 

<?php /* //Input al que será asignado el valor pasado del PopUp */?> 
<input name="NOMBOPERADOR" type="text" class="txt" id="NOMBOPERADOR" size="35" /> 
<a href="#" onclick="MM_openBrWindow('popup.php','','width=700 ,height=700')">abrir pop up</a> </p> 
</form> 
</body> 
</html>


Pagina PopUP
Código PHP:
<!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>Untitled Document</title
<
script language="javascript"

function 
addSelectedItemsToParent() { 
self.opener.addToParentList2(window.document.forms[0].valoropciones); 
window.close(); 


</script> 
</head> 

<body> 
<form name="form1"> 
<input name="valoropciones" type="hidden"> 
<p>&nbsp;</p> 
<ul> 
<li><a href="#" onclick="javascript:window.document.forms[0].valoropciones.value='opcion1';addSelectedItemsToParent();">Opcion 1 </a></li> 
<li>sdfsdfsdf</li> 
</ul> 
</form> 
</body> 
</html> 


El problema que tengo es q necesito que cuando el usuario le de click al link se manden 3 valores diferentes a 3 diferentes TEXTBOXES pero con un solo click, y pues igual que como esta que no haya necesidad de refrescar la pagina, como les digo ... el codigo q muestro .. ya funciona a la perfección, pero necesito enviar
3 valores en vez de uno.

Alguien me podría orientar?

Intente modificando la linea en la ventana popup
Código PHP:
          <li><a href="#" onclick="javascript:window.document.forms[0].valoropciones.value='opcion1';addSelectedItemsToParent();">Opcion 1 </a></li
de esta forma
Código PHP:
          <li><a href="#" onclick="javascript:window.document.forms[0].valoropciones.value='opcion1'.value='valor2deopcion1';addSelectedItemsToParent();">Opcion 1 </a></li
también modifique en la ventana "madre"


Código PHP:
          <script
function 
addToParentList2(valor1) { 
window.document.mosForm.name.value valor1.value;

</script> 

por esto otro

Código PHP:
<script language="javascript"

function 
addSelectedItemsToParent() { 
self.opener.addToParentList2(window.document.forms[0].valoropciones); 
self.opener.addToParentList2(window.document.forms[0].valoropciones2); //poniendo el campo oculto con el mismo nombre
window.close(); 


</script> 
__________________
___________________________

do the evolution ¡
Mineriaenlinea.com
  #2 (permalink)  
Antiguo 28/08/2006, 08:29
Avatar de cookie  
Fecha de Ingreso: agosto-2002
Mensajes: 688
Antigüedad: 22 años, 2 meses
Puntos: 0
O no se puede ??


Que me recomiendan en caso de q lo q quiero hacer no se pueda hacer ?

gracias
__________________
___________________________

do the evolution ¡
Mineriaenlinea.com
  #3 (permalink)  
Antiguo 28/08/2006, 08:49
Avatar de KarlanKas
Moderador extraterrestre
 
Fecha de Ingreso: diciembre-2001
Ubicación: Madrid
Mensajes: 6.987
Antigüedad: 22 años, 11 meses
Puntos: 61
Qué te parecería esto?
Código:
<html>
<head>
	<title>Untitled</title>
	<script>
	valores=new Array;
	pepepe=null;

	function generador(uno,dos,tres){
		this.caja1=uno;
		this.caja2=dos;
		this.caja3=tres;
	}
	
	valores[0]=new generador("Abuelito","Dime","Tú");
	valores[1]=new generador("Nunca debiste","Comer de mi plato","Tontuelo");
	valores[2]=new generador("tururururu","pompompompom","tururururu...");
	valores[3]=new generador("la","gallina","turulata");
	
	
	function elegir(a){
		document.forms['pepote']['pepe'].value=valores[a].caja1;
		document.forms['pepote']['pepe1'].value=valores[a].caja2;
		document.forms['pepote']['pepe2'].value=valores[a].caja3;
		pepepe.close();
	}
	
	
	</script>
</head>

<body>
<form name="pepote">
<input type="button" name="buscar" id="buscar" value="Buscar" onclick="pepepe=window.open('buscar.html','pepepe','width=400,height=200');"><br>

<input type="text" name="pepe"><br>
<input type="text" name="pepe1"><br>
<input type="text" name="pepe2"><br>
</form>


</body>
</html>
y buscar.html:
Código:
<html>
<head>
	<title>Untitled</title>
</head>

<body>
<a href="pepe.html" onclick="opener.elegir(1);return false">Primero</a><br>
<a href="pepe.html" onclick="opener.elegir(2);return false">Segundo</a><br>
<a href="pepe.html" onclick="opener.elegir(3);return false">Tercero</a><br>



</body>
</html>
¿te serviría?
__________________
Cómo escribir

No hay pregunta tonta, sino tonto que quiere seguir en la ignorancia.
  #4 (permalink)  
Antiguo 28/08/2006, 11:31
Avatar de cookie  
Fecha de Ingreso: agosto-2002
Mensajes: 688
Antigüedad: 22 años, 2 meses
Puntos: 0
Karlangas gracias por tu respuesta, tan buena como siempre.

Pero q crees??

Es super necesario para mi q los valores sean mostrados desde la popup (donde tienes buscar.html) ya q esto lo estoy haciendo para una aplicación q hace busquedas y muestra resultados todo en una popup y de ahi .. necesito enviar al formulario.

Como se podrá hacer ??

gracias de nuevo
__________________
___________________________

do the evolution ¡
Mineriaenlinea.com
  #5 (permalink)  
Antiguo 29/08/2006, 01:19
Avatar de KarlanKas
Moderador extraterrestre
 
Fecha de Ingreso: diciembre-2001
Ubicación: Madrid
Mensajes: 6.987
Antigüedad: 22 años, 11 meses
Puntos: 61
Entiendo.

Entonces más sencillo aún. La página quedaría así:

Código:
<html>
<head>
	<title>Untitled</title>
	<script>
var pepepe;
	
	function enviar(caja1,caja2,caja3){
		document.forms['pepote']['pepe'].value=caja1
		document.forms['pepote']['pepe1'].value=caja2;
		document.forms['pepote']['pepe2'].value=caja3;
		pepepe.close();
	}
	
	
	</script>
</head>

<body>
<form name="pepote">
<input type="button" name="buscar" id="buscar" value="Buscar" onclick="pepepe=window.open('buscar2.html','pepepe','width=400,height=200');"><br>

<input type="text" name="pepe"><br>
<input type="text" name="pepe1"><br>
<input type="text" name="pepe2"><br>
</form>


</body>
</html>
Y en la popup:
Código:
<html>
<head>
	<title>Untitled</title>
	<style>td,input{font:normal 10px/20px verdana;}</style>
</head>

<body>
<table>
<tr><td><strong>Nombre:</strong></td><td id="nombre">Pepito Pérez</td></tr>
<tr><td><strong>Dirección:</strong></td><td id="direccion">Calle Roja, 3</td></tr>
<tr><td><strong>Odia el:</strong></td><td id="odia">Chocolate con pimienta</td></tr>
<tr><td colspan="2"><input type="button" value="Cargar estos datos" onclick="opener.enviar(document.getElementById('nombre').innerText,document.getElementById('direccion').innerText,document.getElementById('odia').innerText)"></td></tr>
</table>


</body>
</html>
Si aparecen varios resultados sería fácil con php o con ASP ir individualizando los resultados del popup de forma que mande sólo el resultado que interesa. Sería con un contador y añadiendo ese contador al id de las tablas. Algo así:
Código PHP:
<?
while($pepe=mysql_fetch_array($loquesea)){
$a+=1;
?>
<table>
<tr><td>
<strong>Nombre:</strong>
</td>
<td id="nombre<?=$a;>">
<?=$pepe['nombre'];?>
</td>
</tr>
<tr>
<td>
<strong>Dirección:</strong>
</td>
<td id="
direccion<?=$a;>">
<?=$pepe['direccion'];?>
</td>
</tr>
<tr>
<td>
<strong>Odia el:</strong>
</td>
<td id="
odia<?=$a;>">
<?=$pepe['odia'];?>
</td>
</tr>
<tr>
<td colspan="
2">
<input type="
button" value="Cargar estos datos" onclick = "opener.enviar(document.getElementById('nombre<?=$a;>').innerText,document.getElementById('direccion<?=$a;>').innerText,document.getElementById('odia<?=$a;>').innerText)">
</td>
</tr>
</table>
}
Espero que me haya sabido explicar...
__________________
Cómo escribir

No hay pregunta tonta, sino tonto que quiere seguir en la ignorancia.
  #6 (permalink)  
Antiguo 30/08/2006, 09:31
Avatar de cookie  
Fecha de Ingreso: agosto-2002
Mensajes: 688
Antigüedad: 22 años, 2 meses
Puntos: 0
Caray Karlangas, eres un master



Es justo lo q necesitaba


gracias ¡¡
__________________
___________________________

do the evolution ¡
Mineriaenlinea.com
  #7 (permalink)  
Antiguo 30/08/2006, 09:43
Avatar de KarlanKas
Moderador extraterrestre
 
Fecha de Ingreso: diciembre-2001
Ubicación: Madrid
Mensajes: 6.987
Antigüedad: 22 años, 11 meses
Puntos: 61
Me alegro de que te haya servido!

Cualquier otra cosa ya sabes dónde buscar

Un saludo!
__________________
Cómo escribir

No hay pregunta tonta, sino tonto que quiere seguir en la ignorancia.
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 18:45.