Foros del Web » Programando para Internet » Javascript »

[SOLUCIONADO] Cancelar submit

Estas en el tema de Cancelar submit en el foro de Javascript en Foros del Web. Hola. Tengo esta función javascript : Código: <script> function validaDatos() { if (document.formfunebres.mensajeinicial.value==""){ alert("Falta ingresar el mensaje inicial") document.formenviarmail.mensajeinicial.focus() return false; } } </script> y ...
  #1 (permalink)  
Antiguo 03/10/2016, 16:00
 
Fecha de Ingreso: abril-2005
Mensajes: 483
Antigüedad: 19 años, 8 meses
Puntos: 3
Cancelar submit

Hola.

Tengo esta función javascript:

Código:
<script>
    function validaDatos()    {
       	if (document.formfunebres.mensajeinicial.value==""){ 
        	alert("Falta ingresar el mensaje inicial") 
        	document.formenviarmail.mensajeinicial.focus()
        	return false; 
     	}
    }    
</script>
y este botón:

Código HTML:
<input type="submit" value ="Continuar" id ="Continuar" onClick="return validaDatos()"> 
No me cancela el submit.

¿Qué tengo mal?

Gracias desde ya por las respuestas.
Saludos
  #2 (permalink)  
Antiguo 03/10/2016, 16:24
Avatar de petit89  
Fecha de Ingreso: marzo-2011
Mensajes: 1.139
Antigüedad: 13 años, 9 meses
Puntos: 171
Respuesta: Cancelar submit

Si ejecutas siempre un submit, siempre lo enviara aunque retorne cualquier valor la funcion, para ello tienes que usar type="button" y especificar en la funcion que si todo se cumple envie el formulario...
te dejo el ejemplo aqui: https://jsfiddle.net/t0ku7axy/

saludos!
__________________
█ WebHosting / Reseller a bajo costo | Uptime Garantizado | Soporte en Español e Ingles
¿Te sirvió la respuesta? Deja un +1 (Triangulo negro al lado derecho)
  #3 (permalink)  
Antiguo 03/10/2016, 16:56
Avatar de manuparquegiralda  
Fecha de Ingreso: junio-2012
Ubicación: Barcelona
Mensajes: 241
Antigüedad: 12 años, 5 meses
Puntos: 39
Respuesta: Cancelar submit

No coincido del todo con petit89, en realidad si puedes evitar el submit.

Código Javascript:
Ver original
  1. <script>
  2.  
  3.     document.getElementById("formfunebres").addEventListener("submit", function(event){
  4.      if (document.formfunebres.mensajeinicial.value === ""){
  5.                 event.preventDefault();
  6.             alert("Falta ingresar el mensaje inicial")
  7.             document.formenviarmail.mensajeinicial.focus()
  8.             return false;
  9.          }
  10.     });
  11.  
  12. </script>

Código HTML:
Ver original
  1. <form id="formfunebres">
  2. <input type="submit" value ="Continuar" id ="Continuar">
  3. </form>
__________________
Diseño Web - Arisman Web
  #4 (permalink)  
Antiguo 03/10/2016, 20:46
Avatar de petit89  
Fecha de Ingreso: marzo-2011
Mensajes: 1.139
Antigüedad: 13 años, 9 meses
Puntos: 171
Respuesta: Cancelar submit

tambien puedes ocupar el atributo required de HTML5 que al comprobar que no se ha ocupado el campo, lo pide y te ahorras mucho codigo javascript, ejemplo rapido:
Código HTML:
Ver original
  1. <form action="php" method="post" name="formfunebres">
  2. <textarea name="mensajeinicial" required></textarea>
  3. <input type="submit" value="Continuar" id="Continuar">
  4. </form>
__________________
█ WebHosting / Reseller a bajo costo | Uptime Garantizado | Soporte en Español e Ingles
¿Te sirvió la respuesta? Deja un +1 (Triangulo negro al lado derecho)
  #5 (permalink)  
Antiguo 04/10/2016, 05:45
 
Fecha de Ingreso: abril-2005
Mensajes: 483
Antigüedad: 19 años, 8 meses
Puntos: 3
Respuesta: Cancelar submit

Hola.

manuparquegiralda, no me funcionó tu script, es decir pasa a la siguiente página si el campo está vacío.

Utilicé el required sugerido por petit89 y anduvo ok.

Muchas gracias por responder.
Saludos

Etiquetas: cancelar, input, submit
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:10.