jQuery表单提交后防止默认

时间:2018-06-19 13:59:02

标签: jquery forms preventdefault

我长期以来一直在这个问题上坚持不懈。我正在使用Rails应用程序,并且有用于创建业务的表格。

当我编写以下代码的所有JQuery自定义验证通过时,现在应该提交表单。

equalSpacing

var attribute_value = $(“ input#business _” + to_attribute +“ _ id”)。val();

$("form#new_business").submit(function(e){
e.preventDefault();
var valid = true;

});

现在,当验证失败时,它会成功显示“属性不能为空”的闪存消息,但是当验证通过时,则不提交表单,则提交按钮变为禁用:(

1 个答案:

答案 0 :(得分:0)

您可以使用$('form#new_business')[0].submit();代替this.submit();,这样您的代码将变为:

$("form#new_business").submit(function(e){
  e.preventDefault();
  var valid = true;
  var attribute_value = $("input#business_"+to_attribute+"_id").val();

  if (attribute_value == '') { // means validation fail
    valid = false ;
    flashMessage(to_attribute)
  }

  if (valid) {
    $('form#new_business')[0].submit();
  }
});