Foros del Web » Programando para Internet » Javascript »

Curioso problema con Form Submit

Estas en el tema de Curioso problema con Form Submit en el foro de Javascript en Foros del Web. hola chicos que tal tengo un pequeño problema demasiado curioso con un formulario que estoy tratando de hacer-- resulta que no es lo mismo tener ...
  #1 (permalink)  
Antiguo 21/10/2008, 17:22
Avatar de juliana93  
Fecha de Ingreso: octubre-2008
Ubicación: Costa Rica
Mensajes: 4
Antigüedad: 15 años, 6 meses
Puntos: 0
Exclamación Curioso problema con Form Submit

hola chicos que tal

tengo un pequeño problema demasiado curioso con un formulario que estoy tratando de hacer-- resulta que no es lo mismo tener un formulario y darle enviar con el boton Submit que hacerlo con la funcion document.form1.submit();

Y necesito su ayuda para saber como puedo solucionar esto.. es muy raro creo

Este es el codigo con el boton Submit en el Form
Código:
<html>
<FORM name=form1 action=http://www.tse.go.cr/consulta_persona/consulta_cedula.aspx method=post> 

<!-- <FORM id=form1 name=form1 action="tseform.php" method=post> -->
<INPUT type=hidden name=__EVENTTARGET> 
<INPUT type=hidden name=__EVENTARGUMENT> 
<INPUT type=hidden value=/wEPDwUKLTk0MDA5OTI4Mg9kFgICAw9kFgICDw9kFgJmD2QWBAIBDw8WAh4EVGV4dAUGOUY0VTM4ZGQCBQ8PFgIeCEltYWdlVXJsBRV+L2ltYWdlbmVzLzlGNFUzOC5ibXBkZGSZEGE21WzUHgw4JPzux2hDZ/kGeA== name=__VIEWSTATE>

<INPUT type=hidden value=/wEWCAL6yMjuBwLM9PumDwKxi96RBQKWosD8CgL7uKJnAoeEh8wEAruFruYMAoznisYGJ0nU+pF2gqSXeOYdJl6bK4lBb70= name=__EVENTVALIDATION>

<INPUT type=hidden value="304750180" name=txtcedula>
<INPUT type=hidden value="9F4U38" name=txtcodigo>

<INPUT type=submit value="Consultar Cédula" name=Button1>

</form>
</html>
Y este es el mismo codigo pero con la funcion Submit en el body load

Código:
<html>
<body onLoad=main()>

<SCRIPT language="JavaScript">

function main() {
window.setTimeout(submitform,3500);

}

function submitform()
{
  document.form1.submit();
}
</SCRIPT>

<!--Comentario en HTML -->

<FORM name=form1 action=http://www.tse.go.cr/consulta_persona/consulta_cedula.aspx method=post> 

<!-- <FORM id=form1 name=form1 action="tseform.php" method=post> -->
<INPUT type=hidden name=__EVENTTARGET> 
<INPUT type=hidden name=__EVENTARGUMENT> 
<INPUT type=hidden value=/wEPDwUKLTk0MDA5OTI4Mg9kFgICAw9kFgICDw9kFgJmD2QWBAIBDw8WAh4EVGV4dAUGOUY0VTM4ZGQCBQ8PFgIeCEltYWdlVXJsBRV+L2ltYWdlbmVzLzlGNFUzOC5ibXBkZGSZEGE21WzUHgw4JPzux2hDZ/kGeA== name=__VIEWSTATE>

<INPUT type=hidden value=/wEWCAL6yMjuBwLM9PumDwKxi96RBQKWosD8CgL7uKJnAoeEh8wEAruFruYMAoznisYGJ0nU+pF2gqSXeOYdJl6bK4lBb70= name=__EVENTVALIDATION>

<INPUT type=hidden value="304750180" name=txtcedula>
<INPUT type=hidden value="9F4U38" name=txtcodigo>

<INPUT type=submit value="Consultar Cédula" name=Button1>

</form>

</body>
</html>

Alguna idea de que es lo que esta pasando?
  #2 (permalink)  
Antiguo 21/10/2008, 18:02
venkman
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Curioso problema con Form Submit

Cita:
Alguna idea de que es lo que esta pasando?
¿Quizá podrías decírnoslo tú? Has puesto el código, has dicho que "no es lo mismo" pero te has olvidado de decir qué es lo que ocurre distinto.



Nota: Para hacer las cosas bien, los valores de los atributos deben ir entre comillas (type="hidden" o name="txtcodigo", id="form1", onload="main()", etc).
  #3 (permalink)  
Antiguo 21/10/2008, 18:52
Avatar de juliana93  
Fecha de Ingreso: octubre-2008
Ubicación: Costa Rica
Mensajes: 4
Antigüedad: 15 años, 6 meses
Puntos: 0
Pregunta Respuesta: Curioso problema con Form Submit

hola gracias por tu respuesta bueno en realidad ya habia notado que le faltaban las comillas a los valores pero no le habia dado mucha importancia ..

de todos modos ya puse las comillas al codigo y sigue sin funcionar.. ¿que pasará??

Código:
<html>
<body onLoad="main()">

<SCRIPT language="JavaScript">

function main() {
window.setTimeout(submitform,3500);

}

function submitform()
{
  document.form1.submit();
}
</SCRIPT>

<!--Comentario en HTML -->

<FORM name="form1" action="http://www.tse.go.cr/consulta_persona/consulta_cedula.aspx" method="POST"> 

<!-- <FORM id=form1 name=form1 action="tseform.php" method=post> -->
<INPUT type="hidden" name="__EVENTTARGET"> 
<INPUT type="hidden" name="__EVENTARGUMENT"> 
<INPUT type="hidden" value="/wEPDwUKLTk0MDA5OTI4Mg9kFgICAw9kFgICDw9kFgJmD2QWBAIBDw8WAh4EVGV4dAUGOUY0VTM4ZGQCBQ8PFgIeCEltYWdlVXJsBRV+L2ltYWdlbmVzLzlGNFUzOC5ibXBkZGSZEGE21WzUHgw4JPzux2hDZ/kGeA=="name="__VIEWSTATE">

<INPUT type="hidden" value="/wEWCAL6yMjuBwLM9PumDwKxi96RBQKWosD8CgL7uKJnAoeEh8wEAruFruYMAoznisYGJ0nU+pF2gqSXeOYdJl6bK4lBb70=" name="__EVENTVALIDATION">

<INPUT type="hidden" value="304750180" name="txtcedula">
<INPUT type="hidden" value="9F4U38" name="txtcodigo">

<INPUT type="submit" value="Consultar Cédula" name="Button1">

</form>

</body>

</html>
  #4 (permalink)  
Antiguo 22/10/2008, 04:55
venkman
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Curioso problema con Form Submit

juliana93, te vuelvo a repetir: Explica mejor el problema, por favor.

No sirve de nada decir "sigue sin funcionar" si no has dicho qué es lo que no funciona. ¿Da algún error? ¿No se envían los datos? ¿Qué? ¿Qué es lo que ocurre distinto? ¿Qué es lo que no funciona?
  #5 (permalink)  
Antiguo 22/10/2008, 05:40
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Respuesta: Curioso problema con Form Submit

Hola:

Intentando adivinar el problema, he visto algunas cosas mal...

Hay dos input con name pero sin value (tal vez eso no sea...)

Lo que sí está mal es el primer parámetro del setTimeout, que debe ser una cadena.

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #6 (permalink)  
Antiguo 22/10/2008, 05:46
venkman
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Curioso problema con Form Submit

Uhm, no, caricatos. El primer parámetro del setTimeout es correcto. setTimeout acepta o bien una cadena (de la que luego hace el equivalente a un eval) o bien una función, que es este caso.
  #7 (permalink)  
Antiguo 22/10/2008, 10:43
Avatar de buzu  
Fecha de Ingreso: octubre-2006
Ubicación: San Francisco, CA
Mensajes: 2.168
Antigüedad: 17 años, 6 meses
Puntos: 122
Respuesta: Curioso problema con Form Submit

si, aun que si le pasas la función, no deberías pasarla con paréntesis? Pero todo lo que digamos sera como pedradas al aire por que no sabemos cual es el problema en realidad.
  #8 (permalink)  
Antiguo 22/10/2008, 10:55
venkman
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Curioso problema con Form Submit

No, es correcto. Le pasas "la función" (i.e. submitform) no le pasas "la llamada a la función" (i.e. submitform()).

Pero sí, a ver si nos explica juliana93 qué es lo que ocurre.
  #9 (permalink)  
Antiguo 22/10/2008, 14:34
Avatar de juliana93  
Fecha de Ingreso: octubre-2008
Ubicación: Costa Rica
Mensajes: 4
Antigüedad: 15 años, 6 meses
Puntos: 0
Pregunta Respuesta: Curioso problema con Form Submit

hola

gracias por las respuestas les explico que es lo que pasa, veo que nadie se ha tomado la molestia de copiar y pegar el codigo para probarlo.. de ser asi ya se hubieran dado cuenta del problema en sí

El archivo al que le estoy enviado la info es un ASPX que normalmente cuando lo abres te muestra 2 campos Text para rellenar y luego le das Submit y el archivo se llama a sí mismo y al ver que lleva datos POST hace una validacion y redirecciona a otro fichero mostrando el resultado de la busqueda.

Mi problema esta en lo siguiente: Todo el codigo esta bien y funciona cuando incluyo un boton Submit en mi formulario .. le doy Enviar y la informacion se procesa en el otro archivo y muestra lo que quiero..

Ahora ! cuando pongo exactamente lo mismo pero no uso el boton Submit sino que le coloco el codigo document.form1.submit(); para que el formulario se envie solito al pasar los 3 segundos el resultado es diferente. El archivo al que le envio los datos parece no entender que estoy enviando una orden "Submit" y lo que pasa es que me sale la hoja inicial como cuando uno lo abre directamente sin enviar datos POST la unica diferencia es que ella entiende los campos Text y me los muestra ya rellenos.. pero hace falta pulsar manualmente "Enviar consulta" para que valide y muestre los datos..

Yo quiero que al enviarlo en automatico con javascript muestre el resultado de la busqueda.. creo que se entiende ahora sii lo que trato de hacer

Ahora les dejo aca un codigo mas simple, cuando lo abren al pasar los 3 segundos javascript envia y muestra la pagina con el problema ... Ahora si pulsan el boton del formulario antes de los 3 segundos verán que muestra los resultados correctamente..

¿sigo preguntandome? que es la diferencia entre apretar el boton submit con el mouse que decirle document.form1.submit();

Código:
<html>

<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<meta name="GENERATOR" content="Microsoft FrontPage 4.0">
<meta name="ProgId" content="FrontPage.Editor.Document">
<title>Pagina nueva 1</title>
</head>

<body onLoad="main()">

<SCRIPT language="JavaScript">

function main() {
window.setTimeout(submitform,3500);

}

function submitform()
{
  document.form1.submit();
}
</SCRIPT>

<!--Comentario en HTML -->

<FORM name="form1" action="http://www.tse.go.cr/consulta_persona/consulta_cedula.aspx" method="POST"> 

<!-- <FORM id=form1 name=form1 action="tseform.php" method=post> -->
<INPUT type="hidden" name="__EVENTTARGET"> 
<INPUT type="hidden" name="__EVENTARGUMENT"> 
<INPUT type="hidden" value="/wEPDwUKLTk0MDA5OTI4Mg9kFgICAw9kFgICDw9kFgJmD2QWBAIBDw8WAh4EVGV4dAUGOUY0VTM4ZGQCBQ8PFgIeCEltYWdlVXJsBRV+L2ltYWdlbmVzLzlGNFUzOC5ibXBkZGSZEGE21WzUHgw4JPzux2hDZ/kGeA==" name="__VIEWSTATE">

<INPUT type="hidden" value="/wEWCAL6yMjuBwLM9PumDwKxi96RBQKWosD8CgL7uKJnAoeEh8wEAruFruYMAoznisYGJ0nU+pF2gqSXeOYdJl6bK4lBb70=" name="__EVENTVALIDATION">

<INPUT type="hidden" value="304750180" name="txtcedula">
<INPUT type="hidden" value="9F4U38" name="txtcodigo">

<INPUT type="submit" value="Consultar Cédula" name="Button1">

</FORM>

</body>

</html>
Espero su ayuda... muchisimas gracias.
  #10 (permalink)  
Antiguo 22/10/2008, 15:17
Avatar de buzu  
Fecha de Ingreso: octubre-2006
Ubicación: San Francisco, CA
Mensajes: 2.168
Antigüedad: 17 años, 6 meses
Puntos: 122
Respuesta: Curioso problema con Form Submit

wowowow.... Espera espera. Estoy apenas leyendo el mensaje y la primera frase me pego como un tubo. Lo leí bien?
Cita:
veo que nadie se ha tomado la molestia de copiar y pegar el código para probarlo.. de ser asi ya se hubieran dado cuenta del problema en sí
Me quieres decir que aparte de ayudarte, necesitamos hacer el trabajo que a ti te corresponde? es decir, bienes, copias un código y lo pegas y nos dices: ahí está el código, si me quieren ayudar averigüen el problema y denme una solución. No se de donde vengas juliana, pero aquí no se hacen las cosas de esa manera. Veo que eres nueva, pero por favor se un poco mas consciente y date cuenta de que eres tú quien necesita la ayuda.


Con respecto a lo del problema, la verdad es que no se que esté pasando. Eh visto y efectivamente pasa lo que dices, pero no tengo idea de porque. El método submit de los formularios funciona de la misma manera que si se hubiera presionado un botón tipo submit. El problema lo mas seguro es que este en la otra pagina; la que procesa el formulario. Por que no muestras el código de la otra pagina?

Saludos
  #11 (permalink)  
Antiguo 22/10/2008, 17:42
venkman
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Curioso problema con Form Submit

Sí, la verdad es que tener que andar buscando cuál es tu problema no es algo que haga que nadie se sienta inclinado a ayudarte. Tengo que coincidir con buzu en eso. Más aún cuando además es lo primero que te he preguntado. Sinceramente eso de que no nos hemos "tomado la molestia" resulta bastante ofensivo.


Aún así, te diré dónde está la diferencia. La diferencia está en que cuando haces el submit con un botón de tipo submit, ese botón también se envía y se envía con su valor. Pero si haces el submit de otro modo ese botón no se envía. Podrías tener, por ejemplo, diferentes botones para hacer submit del formulario y sólo se envía el botón y valor del formulario con el que se haga submit.

Si haces el submit con document.getElementById("form1").submit() (*) entonces no se envía el botón de submit. Es decir, hay un parámetro "Button1=Consultar Cédula" que no se está enviando. Como ese es el parámetro que usa el ASP para saber qué acción es la que quieres ejecutar, al no encontrarlo se cree que no ejecutas esa acción sino la acción por defecto: presentar el formulario.

¿Soluciones? Una posible solución sería que antes de hacer el submit con Javascript crearas un campo oculto llamado Button1 con valor Consultar Cédula y así se enviara.

Otra solución sería, también, que replantearas qué es lo que quieres hacer, por qué quieres que ese formulario se envíe automáticamente. Si tenemos que adivinar también eso, entonces lo dejamos para otra ocasión.


(*) que por otro lado es una forma más correcta de hacerlo que document.form1.submit()
  #12 (permalink)  
Antiguo 22/10/2008, 22:20
Avatar de buzu  
Fecha de Ingreso: octubre-2006
Ubicación: San Francisco, CA
Mensajes: 2.168
Antigüedad: 17 años, 6 meses
Puntos: 122
Respuesta: Curioso problema con Form Submit

Si, a eso me refería yo con que el problema está en la otra pagina. No hay un dato que es el que determina si el formulario se envîo o no. Aun que no estaba muy seguro de que el botón no se enviara. ahora ya lo estoy.

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 14:59.