Foros del Web » Programando para Internet » Javascript »

Pasar dato de padre a hija sin form.

Estas en el tema de Pasar dato de padre a hija sin form. en el foro de Javascript en Foros del Web. Buenas Sres, tengo una ventana padre y una ventana hija, en la cual hago una consulta en sql. El resultado lo quiero pasar a la ...
  #1 (permalink)  
Antiguo 03/01/2006, 06:38
Avatar de carlunchos  
Fecha de Ingreso: enero-2002
Ubicación: no tengo, soy un desubicado?.
Mensajes: 438
Antigüedad: 22 años, 3 meses
Puntos: 1
Pasar dato de padre a hija sin form.

Buenas Sres, tengo una ventana padre y una ventana hija, en la cual hago una consulta en sql. El resultado lo quiero pasar a la ventana padre como campo oculto pero no tengo formulario alguno en la ventana hija. Lo que tengo es una funcion reload que recarga la ventana padre.
Como puedo pasar ese valor a la funcion(que recarga la pagina) que esta en el padre y recuperar ese valor para el asp?

Ventana hija:
<SCRIPT LANGUAGE="JavaScript">
<!-- Begin

function goToURL()
{
opener.location.reload();
window.close();
window.location = "planifica.asp"; }

// End -->
</script>

la llamada es por:

onClick='goToURL()' en un boton.

y el resultado del sql es : dato = rst2("dato"), siendo dato el valor a pasar al padre.

Alguna idea ?



Saludos.
__________________
Carlunchos
  #2 (permalink)  
Antiguo 03/01/2006, 07:30
Avatar de pinchoso  
Fecha de Ingreso: octubre-2005
Ubicación: Barcelona
Mensajes: 177
Antigüedad: 18 años, 6 meses
Puntos: 0
<SCRIPT LANGUAGE="JavaScript">
<!-- Begin

function goToURL(midato)
{
opener.location.reload();
window.close();
window.location = "planifica.asp?midato="+midato; }

// End -->
</script>

EN EL BOTON ==> onClick='goToURL('<%=dato%>')'

Con esto supongo que te tirara, si no a lo mejor no te entendio bien
Saludos!

Pinx
__________________

  #3 (permalink)  
Antiguo 03/01/2006, 07:57
Avatar de carlunchos  
Fecha de Ingreso: enero-2002
Ubicación: no tengo, soy un desubicado?.
Mensajes: 438
Antigüedad: 22 años, 3 meses
Puntos: 1
Pinchoso, me tira un error creo que de comillas, ya que el boton lo tengo en una linea asp:

response.write "<input type='button' name='principal' value='Volver Princip' onClick= goToURL('<%=dato%>');>"

las comillas simples estan bien?
__________________
Carlunchos
  #4 (permalink)  
Antiguo 03/01/2006, 09:10
Avatar de pinchoso  
Fecha de Ingreso: octubre-2005
Ubicación: Barcelona
Mensajes: 177
Antigüedad: 18 años, 6 meses
Puntos: 0
No, lo que esta mal es que dentro de un response.write donde ya has abierto <% no puedes volver a abrir <% como lo haces dentro de goToURL, si no que has de concatenar la variable asi:

response.write "<input type='button' name='principal' value='Volver Princip' onClick= goToURL('"&dato&"');>"

Saludos.
__________________

  #5 (permalink)  
Antiguo 03/01/2006, 12:47
Avatar de carlunchos  
Fecha de Ingreso: enero-2002
Ubicación: no tengo, soy un desubicado?.
Mensajes: 438
Antigüedad: 22 años, 3 meses
Puntos: 1
Amigo, esto realmente me trae de cabeza. He probado de mil maneras pero no sale. Si elimino el window.close de la funcion envia la variable etapas, hace el reload de la ventana padre pero recarga la ventana padre en la ventana hija, lo cual no queda bien.

Si pongo el window.location antes del window.close cierra la ventana hija, no envia la variable y no hace reload de la ventana padre.

Si pongo el window.location al principio de la funcion cierra la ventana hija, hace el reload del padre pero no pasa la variable.

La funcion quedo asi, segun tus sugerencias:

<SCRIPT LANGUAGE="JavaScript">
<!-- Begin

function goToURL(etapas)
{
window.location = "datos.asp?etapas=" + etapas; }
opener.location.reload();
window.close();
// End -->
</script>

y en el boton:
response.write "<input type='button' name='principal' value='Volver Princip' onClick=goToURL("&etap&");>"

a ("&etap&") le saque las comillas simples por ser una variable numerica.

Alguna sugerencia mas Pinchoso?

GRacias.
__________________
Carlunchos
  #6 (permalink)  
Antiguo 03/01/2006, 13:26
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Hola:

No es necesario recargar una página para pasar valores... con una función se pueden recibir... Tan solo hay que asegurarse de que esa hija tenga nombre (atributo name del frame iframe o popup)
window.frames[hija].funcionRecogedora(el dato);

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #7 (permalink)  
Antiguo 04/01/2006, 03:10
Avatar de pinchoso  
Fecha de Ingreso: octubre-2005
Ubicación: Barcelona
Mensajes: 177
Antigüedad: 18 años, 6 meses
Puntos: 0
Bueno, a parte del comentario de caricatos, lo de quitar las comillas simples por ser numerica no tiene sentido carlunchos, estas concatenando variables, lo importante es que javascript tenga bien escrita la funcion, ASP solo se encargará de escribir el valor de la variable etap dentro de la llamada a la funcion js, por lo tanto dejalo con ' " & etap & " ', sino te dara error porque estaras escribiendo lo siguiente:

<input type='button' name='principal' value='Volver Princip' onClick=goToURL(esteeselvalordeetapperonotienecomi llas);>
vamos que dara error...

saludos
__________________

  #8 (permalink)  
Antiguo 04/01/2006, 13:24
Avatar de carlunchos  
Fecha de Ingreso: enero-2002
Ubicación: no tengo, soy un desubicado?.
Mensajes: 438
Antigüedad: 22 años, 3 meses
Puntos: 1
Estamos de acuerdo muchachos, pero como me pueden orientar con tema anterior , lo de colocar dentro de la funcion goToURL(etapas) las distintas sentencias, es decir todavia no logro pasar la variable etapas y recogerla en la ventana padre con asp.
Si cierro la ventana antes del pase de variable la misma no pasa al padre. Me pueden revisar la function a ver si el orden de las sentencias es la correcta?. Una pregunta mas:
si logro pasar la variable al padre , la misma debo recogerla con javascript o puedo hacerlo con request.querystring?

Saludos .
__________________
Carlunchos
  #9 (permalink)  
Antiguo 05/01/2006, 06:04
Avatar de pinchoso  
Fecha de Ingreso: octubre-2005
Ubicación: Barcelona
Mensajes: 177
Antigüedad: 18 años, 6 meses
Puntos: 0
A ver:
tu tienes la funcion:

<SCRIPT LANGUAGE="JavaScript">
<!-- Begin

function goToURL(mivariable)
{
opener.location.reload();
//window.location ha de estar antes de window.close porque jscript es secuencial con lo cual si ejectuas antes window.close no hará el window.location
window.location = "planifica.asp?etapa=" + mivariable;
window.close();
//window.location = "planifica.asp?etapa=" + mivariable;
}

// End -->
</script>

la llamada es por:

onClick='goToURL()' en un boton.
dentro del goToURL() ha de estar la variable que quieres pasar.
Si escribes el boton con un response.write lo que has de hacer es lo que te puse anteriormente:
response.write "<input type='button' name='principal' value='Volver Princip' onClick= goToURL('"&dato&"');>"

donde dato contiene la variable que has conseguido de la sentencia SQL

entonces en la ventana padre podrás recoger la variable con:

<% mivariable = Request("etapa")%>

No se, supongo que con esto podrás hacerlo, si no, pon el codigo entero y a ver que se puede hacer,
Saludos.
__________________

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 02:07.