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/

提前致谢

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

$(".selector").validate({
submitHandler: function(form) {
// do other things for a valid form
form.submit();
}
});

问题是你有 2 个变量 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


但这2组代码可以简化为

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

演示:Fiddle

$("#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 这样的插件 它有据可查。还有一个演示 here,包括单选按钮。