Jquery:提交函数在发送表单时不起作用


Jquery: submit function not working at sending form

我有一个表单,我需要用jquery验证它,看看一些字段是否为空,但当我用这个函数提交它时:

$("#servicio-tecnico-1").submit(function( event ) {
        return validar_form();
});

当我提交函数时,它什么也不做,并且发送带有空字段的表单。?我怎样才能让它工作?

以防万一我在这里做了一个JSFiddle

https://jsfiddle.net/ricardojriosr/hr97240j/1/

提前感谢

问题是您有两个变量ij,它们在内部函数中声明,当在内部函数外部使用时会引发错误

$("#servicio-tecnico-1").submit(function (event) {
    var valid = validar_form();
    return valid;
});

然后

var i = 0;
$('.vfb-radio').each(function () {
    if ($(this).is(':checked')) {
        i = i + 1;
    }
});
var j = 0;
$('.vfb-checkbox').each(function () {
    if ($(this).is(':checked')) {
        j = j + 1;
    }
});

在上面的代码段中,i/jeach循环内,它在循环外使用

演示:Fiddle


但这两组代码可以简化为

var i = $('.vfb-radio:checked').length;
var j = $('.vfb-checkbox:checked').length;

演示:Fiddle

您可以使用jquery validate执行验证,然后提交。更多信息@http://jqueryvalidation.org/validate/

$(".selector").validate({
submitHandler: function(form) {
// do other things for a valid form
form.submit();
}
});
$("#servicio-tecnico-1").submit(function( event ) {
if ( validar_form() === true ) {
    //form is valid now submit it
    return;
  }
else {
      // prevent form submittal maybe return an error
      event.preventDefault();
}
});

您可以使用类似jqueryvalidation的插件这是有据可查的。这里还有一个演示,包括单选按钮。