2016-04-28 69 views
-1

我將用「jquery表單驗證插件」來形成控件。我想將「init」部分的點擊功能刪除,當我成爲激活新功能時。或者我想聽聽你對這種情況的替代解決方案。函數刪除和新函數激活

你能幫助我,請大家。謝謝。

var FormValidation = function() { 
    var Profile = function() { 
     var error2 = $('div#tab_1_1 .alert-danger', $('#form1')); 
     var success2 = $('div#tab_1_1 .alert-success', $('#form1')); 
     $('#form1').validate({ 
      errorElement: 'span', 
      errorClass: 'help-block help-block-error', 
      focusInvalid: true, 
      ignore: "", 
      rules: { 
       name: { 
        minlength: 2, 
        required: true 
       }, 
       lastname: { 
        minlength: 2, 
        required: true 
       } 
      } 
     }); 
    } 
    var ProfileTwo = function() { 
     var error2 = $('div#tab_1_2 .alert-danger', $('#form1')); 
     var success2 = $('div#tab_1_2 .alert-success', $('#form1')); 
     $('#form1').validate({ 
      errorElement: 'span', 
      errorClass: 'help-block help-block-error', 
      focusInvalid: true, 
      ignore: "", 
      rules: { 
       name: { 
        minlength: 2, 
        required: true 
       }, 
       lastname: { 
        minlength: 2, 
        required: true 
       } 
      } 
     }); 
    } 

    var Func = Profile(); 
    return { 
     init: function() { 
      $("ul#ProfileTabs li").click(function() { 
       Func = null; 
       var DataID = $(this).find("a").data("id"); 
       if (DataID === "tab_1_1") { 
        Func = Profile(); 
       } else if (DataID === "tab_1_2") { 
        Func = ProfileTwo(); 
       } else { 
        Func = null; 
       } 
       Func(); 
      }); 
     } 
    }; 
}(); 

jQuery(document).ready(function() { 
    FormValidation.init(); 
}); 
+1

對不起,我不明白的問題,你可以改換請 –

+0

我需要點擊激活新功能時刪除舊功能。 –

+0

如果我理解正確,有兩個選項卡和一個表單,您需要基於哪個選項卡單擊不同的表單驗證? – Pietro

回答

0

我會使Profile1和Profile2函數只返回驗證對象。

On tab click我會再調用解除綁定第一

$('#form1').data('validator', null); 
$("#form1").unbind('validate'); 

,然後用新的配置文件重新安裝

validate_obj = <get PROFILE1 or PROFILE2> 
$('#form1').validate(validate_obj); 
+0

謝謝...... :) –