Foros del Web » Programando para Internet » Javascript »

[SOLUCIONADO] impedir enviar formulario

Estas en el tema de impedir enviar formulario en el foro de Javascript en Foros del Web. Hola compañeros, Como puedo impedir enviar el formulario si al validar los chekbox no hay alguno seleccionado. Si no selecciono alguno me muestra la alerta ...
  #1 (permalink)  
Antiguo 01/11/2016, 15:47
 
Fecha de Ingreso: noviembre-2011
Ubicación: Ferrol
Mensajes: 11
Antigüedad: 13 años
Puntos: 0
impedir enviar formulario

Hola compañeros,
Como puedo impedir enviar el formulario si al validar los chekbox no hay alguno seleccionado.
Si no selecciono alguno me muestra la alerta pero envia el formulario vacio.


function validar(f){
todos=document.getElementsByTagName('input');
for(x=0;x<todos.length;x++){
if(todos[x].checked){
return true;
}
}

alert("Al menos debes marcar una opcion");
return false;
}


$(function enviar(){

$('#form1').submit(function(){
alert('Datos enviados.');
$.ajax({

type:'post',
dataType:'json',
url:$(this).attr('action'),
data:$(this).serialize(),
success:mensaje

})
return false;

});


function mensaje(data) {
$('#mensaje').html(data);
}

});
  #2 (permalink)  
Antiguo 02/11/2016, 07:18
alvaro_trewhela
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: impedir enviar formulario

en el form aplica onsubmit="return false"

<form onsubmit="return valida()">

que valida retorne false para detener el submit

  #3 (permalink)  
Antiguo 02/11/2016, 14:28
 
Fecha de Ingreso: noviembre-2011
Ubicación: Ferrol
Mensajes: 11
Antigüedad: 13 años
Puntos: 0
Respuesta: impedir enviar formulario

Gracias Alvaro,
con <form onsubmit="return valida()"> era como lo tenia y me valida pero al dar aceptar al alert me envia la segunda funcion
$(function enviar(){

$('#form1').submit(function(){
alert('Datos enviados.');
$.ajax({

type:'post',
dataType:'json',
url:$(this).attr('action'),
data:$(this).serialize(),
success:mensaje

})
return false;

});

Lo solucione con <input name="insert" type="submit" id="insert" value="guardar" onclick="return validar(this)">
me valida el formulario y no me envia los datos si no hay ninguna casilla marcada, no se si es la manera correcta.
muchas gracias.
  #4 (permalink)  
Antiguo 04/11/2016, 19:33
alvaro_trewhela
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: impedir enviar formulario

Claro que es correcta, es una variante de como solucionar el problema, yo te dí lo que yo haría pero tu solución está super.


Etiquetas: ajax, formulario, html, impedir, input, js
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 09:25.