Ajax的域,jQuery验证ajax和远程域的意外行为

我一直在这一整天挣扎。我需要验证一个表单,如果有效的使用ajax调用提交。从我读过的所有验证发生后,submitHandler应该触发,包括远程检查。jQuery验证ajax和远程域的意外行为

当我进入一个已经存在我得到'User Name already exists'消息和submitHandler不叫,预期用户名。但是,如果其他任何验证检查失败,形式通常被发布到表单操作URL和submitHandler回调似乎永远不会被调用。

希望有人能看到我在做什么错:

User NamePasswordFirst NameLast NameEmail AddressUser TypeAction

Administrator

Standard

Surveyor

Add

$(document).ready(function() {

$('#addUserForm').validate({

onsubmit: true, onfocusout: false, onkeyup: false, onclick: false, errorPlacement: function (error, element) { },

invalidHandler: function (event, validator) {

if (validator.errorList.length) {

alert(validator.errorList[0].message);

validator.errorList[0].element.focus();

}

},

rules: {

username: { required: true, remote: '/admin/isusernameavailable' },

password: { required: true },

forename: { required: true },

surname: { required: true },

email: { required: true, email: true }

},

messages: {

username: { required: 'User Name is required', remote: 'User Name already exists' },

password: { required: 'Password is required' },

forename: { required: 'First Name is required' },

surname: { required: 'Last Name is required' },

email: { required: 'Email Address is required', email: 'Email Address is invalid' }

},

submitHandler: function (form) {

// create the data object

var data = {

Name: $('#Name').val(),

Password: $('#Password').val(),

FirstName: $('#FirstName').val(),

LastName: $('#LastName').val(),

Email: $('#Email').val(),

Type: $('#Type').val()

}

// post the form

var posting = $.post('/admin/adduser', data);

// post success

posting.done(function (data) {

// display the results

$('#results').html(data);

$('#Name').val('');

$('#Password').val('');

$('#FirstName').val('');

$('#LastName').val('');

$('#Email').val('');

$('#Type').val('Standard');

});

// post error

posting.fail(HandlePostFailError);

}

});

});

2013-08-21

lozz

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值