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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值