Foros del Web » Programando para Internet » Javascript »

ayuda con pase de variables entre formulario y popup

Estas en el tema de ayuda con pase de variables entre formulario y popup en el foro de Javascript en Foros del Web. estoy hacendo o intentando hacer, un formulario que muestra varias fotos y apretandp en actualizar se puede cambiar la foto desde un popup, el codigo ...
  #1 (permalink)  
Antiguo 30/08/2004, 09:14
 
Fecha de Ingreso: febrero-2004
Ubicación: Resistencia - Argentina
Mensajes: 299
Antigüedad: 20 años, 9 meses
Puntos: 0
ayuda con pase de variables entre formulario y popup

estoy hacendo o intentando hacer, un formulario que muestra varias fotos y apretandp en actualizar se puede cambiar la foto desde un popup, el codigo del formulario es el siguiente:

<html>
<head>
<script language="JavaScript">
function buscar(){
open("popup.htm");
}
</script>
</head>
<body>
<form name="frm">
<img src="imagen.gif" width="139" height="188">
<input type="button" value="cambiar" onclick="buscar()"><br>
</form>
</body>
</html>

el codigo del popup que abre es:

<html>
<head>
<script language="JavaScript">
function recargaimg(){
opener.document.frm.imagen.reload;
close();
}

</script>

</head>
<body>
<form method="post" action="subir.php" name="frm2" enctype="multipart/form-data">
<input type="hidden" value="kjjkjk" name="oculto" >
<input type="file" name="imagen">
<input type="submit" name="enviar" value="subir">
</form>
</body>
</html>

y el codigo de la pagina subir.php es:

<?
move_uploaded_file($_FILES['imagen']['tmp_name'] , "imagen.gif");
?>
<script>
opener.document.recargaimg();
close();
</script>

Lo que quise hacer es que una vez que suba la imagen, refresque la imagen original del formulario principal, pero no me funciona, tambien me gustaria hacer que se pudieran pasar como parámetro el nombre de la imagen, asi no tendría que renombrarla.-

Gracias.-
  #2 (permalink)  
Antiguo 30/08/2004, 14:01
Avatar de claray  
Fecha de Ingreso: agosto-2004
Ubicación: ahora... en Caracas
Mensajes: 345
Antigüedad: 20 años, 3 meses
Puntos: 0
sera que te falta el name del img?

<img src="imagen.gif" width="139" height="188" >

<img name="imagen" src="imagen.gif" width="139" height="188">


saludos.
__________________
:pirata: El arte de desarrollar es dejar que los otros lo hagan
  #3 (permalink)  
Antiguo 30/08/2004, 19:54
 
Fecha de Ingreso: febrero-2004
Ubicación: Resistencia - Argentina
Mensajes: 299
Antigüedad: 20 años, 9 meses
Puntos: 0
Gracias por contestar, pero no anduvo :(, el name que le puse fue foto, por que imagen se llama el input de file
  #4 (permalink)  
Antiguo 31/08/2004, 07:42
Avatar de claray  
Fecha de Ingreso: agosto-2004
Ubicación: ahora... en Caracas
Mensajes: 345
Antigüedad: 20 años, 3 meses
Puntos: 0
imagino que cambiaste el codigo javascript, ya que en el haces referencia a "imagen" y no a "foto":

opener.document.frm.imagen.reload;

de todas formas voy a tomar este codigo y probar a ver que pasa...te contesto despues...
__________________
:pirata: El arte de desarrollar es dejar que los otros lo hagan
  #5 (permalink)  
Antiguo 31/08/2004, 08:50
Avatar de claray  
Fecha de Ingreso: agosto-2004
Ubicación: ahora... en Caracas
Mensajes: 345
Antigüedad: 20 años, 3 meses
Puntos: 0
OK:

estube revisando el codigo y me refieria anteriormente a poner el nombre name="imagen":

<html>
<head>
<script language="JavaScript">
function buscar(){ open("popup.htm"); }
</script>
</head>
<body>
<form name="frm">
<img name="imagen" src="imagen.gif" width="139" height="188">
<input type="button" value="cambiar" onclick="buscar()"><br>
</form>
</body>
</html>

el código javascript incluido en el popup.htm no se utiliza, ese codigo debería estar en el formulario que abre el popup. Además es necesario modificarlo ya que la funcion "reload" no esta definida como parte del objeto img (al menos hasta donde yo se).

por tanto la alternativa es cargar toda la pagina con "reload();"

Bueno, en realidad existe otra alternativa, que es poner la imagen en un iframe y recargar solo el html del iframe, lo cual suena mas adecuado.


el código que está en subir php:

<script>
opener.document.recargaimg();
close();
</script>

debieras cambiarlo a:

<script>
opener.recargaimg();
close();
</script>

ok, pruebalo y me cuentas....saludos.
__________________
:pirata: El arte de desarrollar es dejar que los otros lo hagan
  #6 (permalink)  
Antiguo 31/08/2004, 11:14
 
Fecha de Ingreso: febrero-2004
Ubicación: Resistencia - Argentina
Mensajes: 299
Antigüedad: 20 años, 9 meses
Puntos: 0
Gracias por ayudarme claray, te cuento que lo hice andar, a duras penas pero anda, lo modifique un poco, ahora solo hay dos paginas, aca dejo el codigo por si alguien lo necesita:

formulario.htm:

<html>
<head>
<script language="JavaScript">
function abrirpopup(){
open("popup.php");
}
</script>
</head>
<body>
<form name="frm">
<img src="imagen.gif" name="foto" width="139" height="188">
<input type="button" value="cambiar" onclick="abrirpopup()"><br>
</form>
</body>
</html>

popup.php

<html>
<? if(isset($_FILES['imagen']['tmp_name'])){
move_uploaded_file($_FILES['imagen']['tmp_name'] , "imagen.gif");
?>
<script>
window.opener.location.reload();
close();
</script>
<? }
?>
<body>
<form method="post" action="popup.php" name="frm2" enctype="multipart/form-data">
<input type="hidden" value="kjjkjk" name="oculto" >
<input type="file" name="imagen">
<input type="submit" name="enviar" value="subir">
</form>
</body>
</html>
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 01:13.