2011-08-11 39 views
3

我有一个包含3个提交按钮的表单。只有1人会进行表单验证,其他2人只需提交表单而无需验证。我有代码,但它对所有3个按钮都起作用,我只需要1就可以验证表单。从表格中删除JQuery validationEngine

$(function() { 
     $('#formID').validationEngine(); 
    }); 
+0

你有3种形式使用id = “formID”? id在html中是唯一的,使它们唯一,并将jquery绑定到要验证的表单 – anderssonola

+0

是的我为每个表单都有一个ID。 – erik

回答

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;     
     }); 
2

我不知道这是否是您需要的东西:

$("#buttonId").click(function(){ 
     $('#formId').validationEngine(); 
    }); 

    $('#otherButtonId').click(function(){ 
     $('#formId').submit(); 
    }); 

首先验证样式与第二只需提交它。

2

不要忘记,如果您通过表单字段选项卡,仍然会发生内联验证,即使您不想在用户单击其他提交按钮之一时进行验证。

作为Jorge建议的替代方法,您可以在正常情况下将文档上的validationengine实例化,然后在单击其中一个其他按钮时分离validationengine。如果您通过Ajax提交而不离开屏幕,您可能还需要隐藏显示的任何提示。

$("#otherButtonId1").click(function(){ 
    // $('#formId').validationEngine('hideAll'); 
    $('#formId').validationEngine('detach'); 
}); 

$('#otherButtonId2').click(function(){ 
    $('#formId').validationEngine('detach'); 
}); 

〜Cyrix的

+0

实际上,如果需要,您可以关闭内嵌检查。默认情况下,它会验证字段的模糊,但是您可以使用validationEventTrigger在提交表单时对其进行验证: $('#formId')。validationEngine({validationEventTrigger:'submit'}); –