我有一个带有3个提交按钮的表单。只有1个将进行表单验证,其他2必须只提交表单而不进行验证。我有代码,但无论如何它适用于所有3个按钮,我只需要1来验证表格。
$(function() {
$('#formID').validationEngine();
});
答案 0 :(得分:8)
它对我有用
$("#buttonId1").click(function(){
$('#formId').validationEngine('hideAll');
$('#formId').validationEngine('detach');
$('#formId').validationEngine('attach');
if($("#formId").validationEngine('validate'))
return true;
else
return false;
});
$("#buttonId2").click(function(){
$('#formId').validationEngine('hideAll');
$('#formId').validationEngine('detach');
return true;
});
$("#buttonId3").click(function(){
$('#formId').validationEngine('hideAll');
$('#formId').validationEngine('detach');
return true;
});
答案 1 :(得分:2)
我不知道这是否正是你所需要的:
$("#buttonId").click(function(){
$('#formId').validationEngine();
});
$('#otherButtonId').click(function(){
$('#formId').submit();
});
第一个验证表单,第二个只是提交表单。
答案 2 :(得分:2)
如果您在表单字段中进行选项卡,即使您不希望在用户单击其他提交按钮之一时进行验证,也不要忘记内联验证。
作为Jorge建议的替代方案,您可以正常地在文档就绪上实例化验证引擎,然后在单击其中一个按钮时分离validateengine。如果您通过Ajax提交而不离开屏幕,您可能还需要隐藏显示的任何提示。
$("#otherButtonId1").click(function(){
// $('#formId').validationEngine('hideAll');
$('#formId').validationEngine('detach');
});
$('#otherButtonId2').click(function(){
$('#formId').validationEngine('detach');
});
〜Cyrix的