jQuery validate(); 仅在单击一种类型的提交按钮时进行验证

Wil*_*ock 13 javascript validation jquery jquery-validate

我有一个很复杂的问题,我已经研究过并且空白了;

场景: 我有一个表单,带有jQuery bassistance.de的validate()插件(http://docs.jquery.com/Plugins/Validation).

然而,工作是否完美提交; 我有两种类型的提交按钮.

一个像往常一样提交表单,触发我的后端验证并返回错误或成功.

另一种类型,是向所有激烈和目的的浏览器提交按钮,但它告诉我的后端添加另一部分输入(即,就业历史的重复元素.)我希望用户能够添加重复元素,而不必先完成表格的其余部分.所以点击第二种类型的提交我想要BYPASS的validate();

HTML:

<form method="post" action="" id="ApplicationForm" name="ApplicationForm">

  <input id="job1" name="job1" class="required"/>
  <input type="submit" name="delete_job1" value="Delete" class="delete" />

  <input id="job2" name="job2" class="required"/>
  <input type="submit" name="delete_job2" value="Delete" class="delete" />

  <input type="submit" name="add_job" value="Add Job" class="add" />

  <input type="submit" name="ApplicationForm" value="Save Details" class="submit" />

</form>
Run Code Online (Sandbox Code Playgroud)

我已经为下面的真实提交按钮尝试了一个监听器,但这只是停止验证所有进一步;

$(document).ready(function()
{
    var submitPress

    $(".submit").click(function()
    {
        submitPress = true;
    });

    if (submitPress)
    {
        $('form#ApplicationForm').validate();
    }
});
Run Code Online (Sandbox Code Playgroud)

我想这是因为validate(); 听众是在页面的初始加载时设置的,而不是在提交时...

是否有针对validate()的规则或设置; 我很想念,我可以利用,甚至是一个善良的老玩家.

有史以来可以帮助的Muchos gratias,我的结果.

此致,工作到很晚,AGAIN,开发人员

goa*_*oat 23

http://docs.jquery.com/Plugins/Validation/Reference#Skipping_validation_on_submit

基本上,添加class="cancel"到您不想触发验证的提交按钮.

<input type="submit" value="I Validate" />
<input type="submit" class="cancel" value="I skip Validation" />
Run Code Online (Sandbox Code Playgroud)