【问题标题】:jQuery.validate stops my form from being submittedjQuery.validate 阻止我的表单被提交
【发布时间】:2011-06-27 04:48:22
【问题描述】:

jQuery.validate 阻止我的表单被提交。我希望它只是向用户展示出了什么问题,但无论如何都允许他们提交。

我正在使用 ASP MVC 附带的 jquery.validate.unobtrusive 库。

我使用 jquery.tmpl 动态创建表单,然后使用 jquery.datalink 将输入字段链接到页面上的 json 对象。所以我的文档准备调用看起来像这样。

jQuery(function ($) {
  // this allows be to rebind validation after the dynamic form has been created
  $("form").removeData("validator");
  $("form").removeData("unobtrusiveValidation");
  $.validator.unobtrusive.parse($("form"));

  // submit the answers
  $("form").submit(function(e) {
    $("input[name=jsonResponse]").val(JSON.stringify(answerArray));
    return true;             
  });
}

我注意到有一个选项

$("form").validate({ onsubmit: false });

但这似乎扼杀了所有的验证。

所以,回顾一下我的表单何时呈现,我想立即显示所有错误,但我不想阻止提交工作。

【问题讨论】:

    标签: jquery-validate http-post


    【解决方案1】:

    所以经过一些研究(阅读源代码)我发现我需要做两件事

    将课程取消添加到我的提交按钮

    <input id="submitButton" type="submit" class="cancel" value="OK" />
    

    这会停止在提交时运行的验证。

    要在加载时验证表单,我只需将其添加到我的文档就绪函数中

    $("form").valid();
    

    希望这对其他人有帮助

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-09-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-04-27
      • 2018-11-07
      相关资源
      最近更新 更多