Foros del Web » Programando para Internet » Javascript »

¿Por que el formulario se envia?

Estas en el tema de ¿Por que el formulario se envia? en el foro de Javascript en Foros del Web. Hola foreros!, ¿Que tal?... yo loco de remate. Mirar os cuento: tengo una web con un monton de javascript la verdad es que funciona bastante ...
  #1 (permalink)  
Antiguo 03/11/2009, 13:58
Avatar de salbatore  
Fecha de Ingreso: abril-2007
Ubicación: Springfield
Mensajes: 1.567
Antigüedad: 17 años, 1 mes
Puntos: 19
¿Por que el formulario se envia?

Hola foreros!,

¿Que tal?... yo loco de remate. Mirar os cuento: tengo una web con un monton de javascript la verdad es que funciona bastante bien pero ahora no se por que un formulario no actua bien. El formulario en cuestion envia por medio de Ajax la informacion pero tambien refresca la pagina como un formulario HTML corriente. Asi que pregunto:

¿Por que un formulario que tiene todo el codigo javascript para funcionar como el tipico formulario Ajax (y funciona) envia los datos por medio de Ajax y a la vez refresca la web?

He hecho de todo con el codigo... y son tantas lineas que seria tonto subir todo el codigo. Se me ha ocurrido que tal vez es un error comun...

¿Sabeis algo?
  #2 (permalink)  
Antiguo 03/11/2009, 15:55
Avatar de Panino5001
Me alejo de Omelas
 
Fecha de Ingreso: mayo-2004
Ubicación: -34.637167,-58.462984
Mensajes: 5.148
Antigüedad: 20 años
Puntos: 834
Respuesta: ¿Por que el formulario se envia?

Seguramente el botón es de tipo submit y no estás colocando un return false en el evento onsubmit del tag form.
  #3 (permalink)  
Antiguo 03/11/2009, 16:38
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: ¿Por que el formulario se envia?

Cita:
Iniciado por Panino5001 Ver Mensaje
Seguramente el botón es de tipo submit y no estás colocando un return false en el evento onsubmit del tag form.
Los botones son -por defecto- del tipo submit (en explorer no, por supuesto), así que si no se declara ese atributo, se considera tipo submit... la otra alternativa es que tengas ese return false, pero la función Ajax provoca un error y se cancele la cancelación... vaya la redundancia...

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #4 (permalink)  
Antiguo 03/11/2009, 16:38
Avatar de salbatore  
Fecha de Ingreso: abril-2007
Ubicación: Springfield
Mensajes: 1.567
Antigüedad: 17 años, 1 mes
Puntos: 19
Respuesta: ¿Por que el formulario se envia?

Hola de nuevo!...

Al final lo he solucionado haciendo de nuevo todo script... estaba tan harto de mirar el codigo que he decidido hacerlo de nuevo y ya esta... un poco triste pero bueno!... no iba a estar 200 años haciendolo.

El problema debia en como adjudicaba los eventos... pero bueno...

La verdad es que va a ser la primera vez que no me meta en el asunto y lo esquive... haciendolo de otro modo... QUE PENA!... pero bueno...

Muchas gracias Panino5001... porsupuestisimo que tenia lo de return false. He puesto return false en cada sentencia... asi como Alert por todas partes!... jeje. Y

alert('Funciona de una * vez'); <----------- Ese ha sido el mas usado, jeje.

Edito: gracias caricatos... como me mola tu caricatura!... y yo con mi rana pixelizada y mal cortada.

Hasta pronto!.
  #5 (permalink)  
Antiguo 03/11/2009, 17:28
Avatar de Panino5001
Me alejo de Omelas
 
Fecha de Ingreso: mayo-2004
Ubicación: -34.637167,-58.462984
Mensajes: 5.148
Antigüedad: 20 años
Puntos: 834
Respuesta: ¿Por que el formulario se envia?

Hola, Pepe!
Cita:
Los botones son -por defecto- del tipo submit
Esto es así, pero, para aclarar, con los atributos puede modificarse el comportamiento, y esto tanto en el tag input como en el tag button:

Código PHP:
<form id="form1" name="form1" method="post" action="">
  <
input type="button" name="Submit" value="Bot&oacute;n" />
  <
input type="submit" name="Submit2" value="Enviar" />
  <
input type="reset" name="Submit3" value="Restablecer" />
  <
button type="button">button</button>
  <
button type="submit">button</button>
  <
button type="reset">button</button>
</
form
  #6 (permalink)  
Antiguo 04/11/2009, 05:25
Avatar de salbatore  
Fecha de Ingreso: abril-2007
Ubicación: Springfield
Mensajes: 1.567
Antigüedad: 17 años, 1 mes
Puntos: 19
Respuesta: ¿Por que el formulario se envia?

Hola de nuevo!...

Ya he descubierto por que enviaba el formulario!... urra!. Era un error en una funcion, mas bien la falta de ella. La nombraba para colorear el fondo del boton, pero se me olvido cambiarle el nombre. Es decir, que la llamaba pero no la encontraba por que se llamaba de otro modo. Entonces cuando la llamaba todo se paraba y no me digas por que envia de las dos formas el formulario.

La cuestion es que esta solucionado!. Gracias a los dos!.
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 11:21.