从表单中删除JQuery validationEngine

时间:2011-08-11 12:48:10

标签: jquery validation

我有一个带有3个提交按钮的表单。只有1个将进行表单验证,其他2必须只提交表单而不进行验证。我有代码,但无论如何它适用于所有3个按钮,我只需要1来验证表格。

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

3 个答案:

答案 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的