我有一个非常复杂的问题,我已经研究过,并且空白了;
情境: 我有一个表单,带有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>
我已经为下面的真实提交按钮尝试了一个监听器,但这只是停止验证所有进一步;
$(document).ready(function()
{
var submitPress
$(".submit").click(function()
{
submitPress = true;
});
if (submitPress)
{
$('form#ApplicationForm').validate();
}
});
我猜这是因为validate();听众是在页面的初始加载时设置的,而不是在提交时...
是否有针对validate()的规则或设置;我很想念,我可以利用,或者甚至是一个善良的黑色JS。
许多人可以提供帮助,我的结果就是我的结局。
您诚挚的, 工作到很晚,AGAIN,开发人员
答案 0 :(得分: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" />
答案 1 :(得分:0)
它不起作用,因为你提供了输入元素的id,在页面加载后会变成这样的submit_1_btnSubmit
因此,要解决此错误,您可以使用ClientIDMode="Static"
(if you are working on asp.net)
<asp:Button ID="btnSubmit" runat="server" OnClick="btnSubmit_Click" Text="Submit" CssClass="Submit" ClientIDMode="Static" />
else
you may access `clientIDmode` property on button control dynamically.