在jQuery中,我在引导程序窗体上使用带有jqBootstrapValidation插件的$ .ajax方法但验证不正常。我正在使用
$('#updatenamebutton').click(function(event)
{
event.preventDefault();
}
preventDefault
正在停止验证,但我不想实际提交值,因此我使用event.preventDefault();
。有什么想法吗?
答案 0 :(得分:9)
您只需将ajax函数放入jqBootstrapValidation submitSuccess回调中。
您不需要在表单上绑定类似“提交”或“单击”的触发器,因为jqBootstrapValidation将处理提交事件。
以下代码不言自明:
$(function() {
$('form[name="contact"]').find('input,select,textarea').not('[type=submit]').jqBootstrapValidation({
submitSuccess: function ($form, event) {
$.ajax({
type: 'POST',
url: $form.attr('action'),
data: $form.serialize(),
success: function(data)
{
// just to confirm ajax submission
console.log('submitted successfully!');
}
});
// will not trigger the default submission in favor of the ajax function
event.preventDefault();
}
});
});
有关插件的更多详细信息: http://reactiveraven.github.io/jqBootstrapValidation/
答案 1 :(得分:1)
你必须做以下事情:
$(function () { $("input,select,textarea").not("[type=submit]").jqBootstrapValidation({
preventSubmit: false,
submitSuccess: function (form, event) {
event.preventDefault();
dosubmit(form);
},
submitError: function (form, event, errors) {
event.preventDefault();
}
}); } );