我基本上将内容加载到引导模式,编辑信息并使用jquery验证器验证它,然后使用ajax请求提交它。到目前为止,一切都运行良好,直到我点击另一个仍然出现验证类的项目。我的问题是,有没有办法在关闭bootstrap模式后删除验证器类? 请帮忙
答案 0 :(得分:4)
您可以使用resetForm
方法设置验证程序的状态。
// on load of your dialog:
var validator = $('#myForm').validate();
validator.resetForm();
答案 1 :(得分:4)
如果您使用的是bootstrapvalidator,则以下代码将有助于摆脱错误元素
$("#editModal").on('hidden.bs.modal', function () {
//Removing the error elements from the from-group
$('.form-group').removeClass('has-error has-feedback');
$('.form-group').find('small.help-block').hide();
$('.form-group').find('i.form-control-feedback').hide();
});
答案 2 :(得分:3)
对于那些使用Bootstrap 3(resetForm()不在那里工作)的人:
$('.form-group').each(function () { $(this).removeClass('has-success'); });
$('.form-group').each(function () { $(this).removeClass('has-error'); });
$('.form-group').each(function () { $(this).removeClass('has-feedback'); });
$('.help-block').each(function () { $(this).remove(); });
$('.form-control-feedback').each(function () { $(this).remove(); });
如果你设置如下:
highlight: function (element) {
$(element).closest('.form-group').removeClass('has-success');
$(element).closest('.form-group').addClass('has-error has-feedback');
$(element).closest('.form-group').find('span.form-control-feedback').remove();
//$(element).closest('.input-group').append('<i class="fa fa-exclamation fa-lg form-control-feedback"></i>');
$(element).closest('.form-group').append('<span class="glyphicon glyphicon-remove form-control-feedback" aria-hidden="true"></span>');
},
unhighlight: function (element) {
$(element).closest('.form-group').removeClass('has-error');
$(element).closest('.form-group').addClass('has-success has-feedback');
$(element).closest('.form-group').find('span.form-control-feedback').remove();
//$(element).closest('.input-group').append('<i class="fa fa-check fa-lg form-control-feedback"></i>');
$(element).closest('.form-group').append('<span class="glyphicon glyphicon-ok form-control-feedback" aria-hidden="true"></span>');
},
errorElement: 'span',
errorClass: 'help-block',
errorPlacement: function (error, element) {
if (element.parent('.input-group').length) {
error.insertAfter(element.parent());
} else {
error.insertAfter(element);
}
}
答案 3 :(得分:0)
您可以使用隐藏(或隐藏)功能:
$('#myModal').on('hidden', function () {
// do something… removeClass etc.
})