Foros del Web » Programando para Internet » Javascript »

Limpiar formulario al enviar

Estas en el tema de Limpiar formulario al enviar en el foro de Javascript en Foros del Web. Buenas Tengo un formulario el cual envia a un popup para hacer el envio del mail, me pidieron que sea asi, bueno el tema es ...
  #1 (permalink)  
Antiguo 21/09/2009, 11:37
 
Fecha de Ingreso: agosto-2003
Mensajes: 906
Antigüedad: 20 años, 9 meses
Puntos: 3
Limpiar formulario al enviar

Buenas

Tengo un formulario el cual envia a un popup para hacer el envio del mail, me pidieron que sea asi, bueno el tema es que cuando envien el form se tiene que limpiar, el drama es se abre en un popup y queda la pagina cargada con los datos, como los puedo limpiar?, tengo algo asi:

Código PHP:
<form action="enviar-form.php" method="post" target="ventana" name="disponible" onsubmit="window.open('', 'ventana','width=300,height=200')"
  #2 (permalink)  
Antiguo 21/09/2009, 12:06
 
Fecha de Ingreso: junio-2009
Mensajes: 50
Antigüedad: 14 años, 11 meses
Puntos: 0
Respuesta: Limpiar formulario al enviar

Pues supongo que en el onsubmit despues de hacer el window.open hacer una funcion javascript que limpie todo
  #3 (permalink)  
Antiguo 21/09/2009, 12:10
 
Fecha de Ingreso: agosto-2003
Mensajes: 906
Antigüedad: 20 años, 9 meses
Puntos: 3
Respuesta: Limpiar formulario al enviar

Como seria despues del window.open ????????? como se usa dos sentencias alli?
  #4 (permalink)  
Antiguo 21/09/2009, 12:32
Avatar de danico90  
Fecha de Ingreso: febrero-2009
Ubicación: San José, Costa Rica
Mensajes: 148
Antigüedad: 15 años, 3 meses
Puntos: 13
Respuesta: Limpiar formulario al enviar

con window.opener puedes acceder despe el popup a los objetos de la pagina que lo abrió, por ejemplo:

window.opener.getElementById('textfield1').value=" ";

Talvez de esta manera te sirva.
  #5 (permalink)  
Antiguo 21/09/2009, 12:36
 
Fecha de Ingreso: agosto-2003
Mensajes: 906
Antigüedad: 20 años, 9 meses
Puntos: 3
Respuesta: Limpiar formulario al enviar

mmm lo probe dentro del php que hace el envio pero no me lo limpia...le puse el nombre igual y todo, abri el javascript pero nada...
  #6 (permalink)  
Antiguo 21/09/2009, 12:58
Avatar de danico90  
Fecha de Ingreso: febrero-2009
Ubicación: San José, Costa Rica
Mensajes: 148
Antigüedad: 15 años, 3 meses
Puntos: 13
Respuesta: Limpiar formulario al enviar

como te dije deberia de funcionar, prueba crear una funcion para borrar todo el form, pero antes de cada sentencia le agregas window.opener y llamas la funcion en el evento onload del popup, obviamente la funcion debe de ir en el popup.
  #7 (permalink)  
Antiguo 21/09/2009, 14:03
 
Fecha de Ingreso: junio-2009
Mensajes: 50
Antigüedad: 14 años, 11 meses
Puntos: 0
Respuesta: Limpiar formulario al enviar

Pues creo que era asi onsubmit="javascript:prueba();prueba1()"
  #8 (permalink)  
Antiguo 21/09/2009, 14:10
Avatar de danico90  
Fecha de Ingreso: febrero-2009
Ubicación: San José, Costa Rica
Mensajes: 148
Antigüedad: 15 años, 3 meses
Puntos: 13
Respuesta: Limpiar formulario al enviar

Si se puede hacer en el evento onsubmit pero puede ocurrir un error al enviar el correo y entonces borras lo que tiene el form aunque se envie o no el correo.

Lo mejor seria hacerlo desde el popup para verificar el envio.
  #9 (permalink)  
Antiguo 21/09/2009, 14:57
 
Fecha de Ingreso: agosto-2003
Mensajes: 906
Antigüedad: 20 años, 9 meses
Puntos: 3
Respuesta: Limpiar formulario al enviar

a ver, hice esto, arme una funcion javascript en el popup

Código PHP:
fuction limpiar() {
window.opener.getElementById('ptype').value=" ";

luego en el body onload llamo a limpair() pero no hace nada....o esa funcion debe ir donde esta el formulario?...como se supone que sabe de donde viene?
  #10 (permalink)  
Antiguo 21/09/2009, 15:15
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años
Puntos: 1485
Respuesta: Limpiar formulario al enviar

Cita:
Iniciado por SeNdEr2003 Ver Mensaje
fuction limpiar() {
window.opener.getElementById('ptype').value=" ";
}
primero, function esta mal escrito, lo tienes escrito sin la n. y segundo, opener es un objeto window que se refiere a la ventana padre pero, sin embargo, getElementById le pertenece a document por lo que debe escribirlo asi opener.document.getElementById.
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #11 (permalink)  
Antiguo 21/09/2009, 15:19
 
Fecha de Ingreso: agosto-2003
Mensajes: 906
Antigüedad: 20 años, 9 meses
Puntos: 3
Respuesta: Limpiar formulario al enviar

Es verdad me olvide la n, lo deje asi:

Código PHP:
function limpiar() {
window.opener.document.getElementById('ptype').value=" ";

donde esta el popup

y luego el form lo arme asi:

Código PHP:
<form action="enviar-contact-ORIGINAL.php" method="post" target="ventana" name="disponible" onsubmit="limpiar(); window.open('', 'ventana','width=300,height=200')"
seguro hago algo mal xq no me lo limpia...
  #12 (permalink)  
Antiguo 21/09/2009, 15:26
Avatar de danico90  
Fecha de Ingreso: febrero-2009
Ubicación: San José, Costa Rica
Mensajes: 148
Antigüedad: 15 años, 3 meses
Puntos: 13
Respuesta: Limpiar formulario al enviar

disculpa pero me habia olvidado de algo, se pone de esta manera:

window.opener.document.getElementById('texto1').va lue="";

Pero tengo una manera más fácil.

Te la digo:

Código HTML:
<form id="form1" onsubmit="popup('ventana.php',25,25,500,300);">
<input type="text" id="texto1" />
<input type="text" id="texto2" />
<input type="submit" />
</form> 
esto de arriba es lo del form de la pagina que abre el pop up.

Código HTML:
<script>
function limpiar(field) {
	field.reset();         //con esto reinicias todo el form
}
</script>
</head>

<body onload="limpiar(window.opener.document.getElementById('form1'));">
</body> 
eso es lo del pop up.


Tienes que validar si envia el formulario q haga la funcion, si pasa lo contrario, que no lo haga.

Te pido disculpas otra vez por la equivocacón.
  #13 (permalink)  
Antiguo 21/09/2009, 15:30
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años
Puntos: 1485
Respuesta: Limpiar formulario al enviar

edit @ 16:36
vaya que se me adelantaron, pero de todos modos ahi va para que tengas varias opciones.

si bien entiendo quieres limpiar todo el formulario luego de enviarse a la nueva ventana. en tu documento enviar-contact-ORIGINAL.php tienes que ubicar la funcion limpiar y llamarla cuando creas que sea oportuno. o sea, ya sea tan pronto va cargando el documento en el popup o en el evento onload del popup. sin embargo, dicha funcion solo limpiara un campo y esa es la parte que desde tu primer post me tiene confuso. si es solo ese campo, pues el codigo no esta mal. pero si quieres limpiar todo el formulario lo mejor seria llamar la funcion reset.
Código:
<script type="text/javascript">
opener.document.disponible.reset();
</script>
ubica ese codigo dentro del documento enviar-contact-ORIGINAL.php
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.

Última edición por zerokilled; 21/09/2009 a las 15:38
  #14 (permalink)  
Antiguo 21/09/2009, 15:35
 
Fecha de Ingreso: agosto-2003
Mensajes: 906
Antigüedad: 20 años, 9 meses
Puntos: 3
Respuesta: Limpiar formulario al enviar

Genial funciona de maravilla.....barbaro!, gracias a todossssssss, y no tengo que disculpar danico si estas ofreciendo ayuda, mas que agradecido toda la que haz dado.
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 10:45.