ajax提交前先验证,jQuery验证AJAX之前提交(jQuery validation before AJAX sub
我有以下的jQuery驗證代碼的簡單注冊表格:
$(document).ready(function(){
$("#registerForm").validate({
rules: {
Username: {required: true, minlength: 6},
Password: {required: true, minlength: 6},
re_Password: {required: true, equalTo: "#Password"}
},
});
});
之前,我提交表單它正確驗證。
問題是當我想也做一個AJAX提交表單的,因為形式將不再驗證和未經驗證提交:
該工程默認為:
請,如果任何人都可以點我在正確的方向,或給我一些出發點,以解決這一點,我將不勝感激。
謝謝。
由于Kundan辛格Chouhan我已經找到了解決方案添加以下代碼到的document.ready塊:
$("#registerForm").submit(function(){
if($("#registerForm").valid()){
xmlhttpPost('register.php', 'registerForm', 'signup-box');
}
return false;
});
Answer 1:
我想你應該有從您的表單標簽移除onsubmit事件譜寫的document.ready下面的腳本()
$("form").submit(function(){
if($("form").validate()){
xmlhttpPost('register.php', 'registerForm', 'signup-box');
}
return false;
});
希望這將解決您的問題。
Answer 2:
我認為你應該使用提交處理程序JQuery的驗證,就像這樣:
$('#id_of_form').validate(){
// rules and messages
submitHandler: function(form) {
// place your code for Ajax Request here...
}
}
Answer 3:
你可以使用jQuery.Validation這里是一些示例代碼:
var $form = $("form");
$form.validate({
rules: {
Username: {required: true, minlength: 6},
Password: {required: true, minlength: 6},
re_Password: {required: true, equalTo: "#Password"}
},
invalidHandler: function(event, validator) {
// 'this' refers to the form
var errors = validator.numberOfInvalids();
if (errors) {
var message = errors === 1
? 'You missed 1 field. It has been highlighted'
: 'You missed ' + errors + ' fields. They have been highlighted';
}
},
submitHandler: function (form) {
var $form = $(form);
$.ajax({
url: destinationUrl,
method: "POST",
data: $form.serialize()
})
.done(function (result) {
// show some message, etc...
return false; // blocks redirect after submission via ajax
})
.fail(function (response, error) {
// failed
})
.always(function() {
});
}
});
問候。
文章來源: jQuery validation before AJAX submit
總結
以上是生活随笔為你收集整理的ajax提交前先验证,jQuery验证AJAX之前提交(jQuery validation before AJAX sub的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 信息学奥赛一本通 1160:倒序数
- 下一篇: CSS3 帧动画分段,CSS3 anim