Foros del Web » Programando para Internet » Javascript »

opener.document.form.

Estas en el tema de opener.document.form. en el foro de Javascript en Foros del Web. Hola a tod@s Tengo un script que realida un upload desde un formulario, abre un popup y cuando se carga la foto y al cerrar ...
  #1 (permalink)  
Antiguo 11/06/2005, 10:42
Avatar de Torus  
Fecha de Ingreso: enero-2002
Ubicación: Tú buscame y me encontraras
Mensajes: 413
Antigüedad: 22 años, 5 meses
Puntos: 0
opener.document.form.

Hola a tod@s
Tengo un script que realida un upload desde un formulario, abre un popup y cuando se carga la foto y al cerrar la ventana automaticamente me rellena el imput con el nombre de la foto que se subio.
en el formulario tengo un boton y..
Código:
onClick="window.open('cargador.php?numero_entradas=1&direccion=<? echo $_SERVER["PHP_SELF"] ?>&campo_form=textfield2&directorio_descarga=./img/','','scrollbars=yes,width=800,height=500')">
y en la pagina del upload...
Código:
<script language="Javascript1.2">
opener.document.form.".$campo_form.".value = '".$picture1."';
</script>"
Todo esto funciona de perlas
Pero lo que yo pretendo es meter el formulario en un frame (2.php) y el boton de apertura en otro(left.php)como se de antemano el nombre del campo en cuestion ($campo_form) se lo puedo pasar desde un frame (left.php).
La cuestion es que de esta forma no me actualiza el formulario, he probado lo que sigue:
Código:
<script language="Javascript1.2">
left.opener.document.form.".$campo_form.".value = '".$picture1."';
</script>
<script language="Javascript1.2">
top.opener.document.form.".$campo_form.".value = '".$picture1."';
</script>
<script language="Javascript1.2">
opener.left.document.form.".$campo_form.".value = '".$picture1."';
</script>
Todo esto sin resultados.
Si alguien sabe como solucionarlo se lo agradeceria.
Un Saludo
__________________
Hay tanto que aprender y tan poco tiempo
  #2 (permalink)  
Antiguo 11/06/2005, 11:49
Avatar de atlante  
Fecha de Ingreso: julio-2002
Ubicación: Lima
Mensajes: 140
Antigüedad: 21 años, 10 meses
Puntos: 0
Al parecer es por la sintaxis de acceso:

para acceder a otro frame dentro de un frameset se utiliza la siguiente sintaxis:

"parent.nombreframe.document"


lo que en tu caso seria:

<script language="Javascript1.2">
parent.framename.document.form.".$campo_form.".val ue = '".$picture1."';
</script>

donde "framename" es el nombre de tu frame que contiene el campo de texto.
__________________
If you look, If you really read between the lines, You will see...
  #3 (permalink)  
Antiguo 11/06/2005, 12:26
Avatar de Torus  
Fecha de Ingreso: enero-2002
Ubicación: Tú buscame y me encontraras
Mensajes: 413
Antigüedad: 22 años, 5 meses
Puntos: 0
Gracias atlante por responder pero lo he probado y no me funciona lo he hecho de esta forma
Tengo un index con el siguiente contenido
index.php
Código:
<frameset rows="*" cols="199,*" framespacing="0" frameborder="NO" border="0">
  <frame src="left.php" name="boton" scrolling="NO" noresize>
  <frame src="2.php" name="formulario">
</frameset>
Bien como puedes ver el frame que contiene el formulario es "formulario" que pertenece a la pagina 2.php y que contiene:
Código:
<form  name="form" method="post" action="">
     <input type="text" name="foto" value="">
  
</form>
En el otro frame (left.php)tengo:
<
Código:
input name="es" type="button" value="enviar" onClick="window.open('cargador.php?numero_entradas=1&direccion=<? echo $_SERVER["PHP_SELF"] ?>&campo_form=foto&directorio_descarga=./img/','','scrollbars=yes,width=800,height=500')">
y en la pgina dunload (cargador.php) he puesto lo dicho:
Código:
<script language="Javascript 1.2">
parent.formulario.document.form.".$campo_form.".value = '".$picture1."';
</script>
es mas por si acaso lo he puesto quitando la variable $campo_form poniendo directamente "foto" y ni con esas.
¿Estoy comentiendo algun error.
Saludos cordiales
__________________
Hay tanto que aprender y tan poco tiempo
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:33.