2016-04-28 52 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

谢谢...... :) –