【问题标题】:Jquery: submit function not working at sending formJquery:提交功能在发送表单时不起作用
【发布时间】:2015-03-18 01:47:49
【问题描述】:

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

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

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

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

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

提前致谢

【问题讨论】:

  • 部分变量超出范围,单选按钮也有问题,除了可以正常工作

标签: php jquery forms submit form-submit


【解决方案1】:

问题是您有 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;
    }
});

在上面的 sn-p 中,i/jeach 循环内,它在循环外使用

演示:Fiddle


但这两组代码可以简化为

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

演示:Fiddle

【讨论】:

    【解决方案2】:

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

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

    【讨论】:

      【解决方案3】:
      $("#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();
      }
      });
      

      【讨论】:

      • 虽然这个答案可能是正确且有用的,但最好在其中附上一些解释来解释它如何帮助解决问题。如果有更改(可能不相关)导致它停止工作并且用户需要了解它曾经是如何工作的,这在未来变得特别有用。
      【解决方案4】:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多