Удаление функции и активация новой функции
Я создам контроль с помощью "плагина проверки формы 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 ответ
Решение
Я бы заставил функции Profile1 и Profile2 возвращать только проверенный объект.
On tab click
Затем я бы сначала назвал unbind
$('#form1').data('validator', null);
$("#form1").unbind('validate');
а затем подключите новый профиль
validate_obj = <get PROFILE1 or PROFILE2>
$('#form1').validate( validate_obj );