我在jQuery Ajax的按钮点击事件上使用验证的东西。如果返回值为1,此方法将显示一条警告消息,否则返回true并转到button方法。显示事物和阻止按钮方法的验证和警报运行良好。如果不想做任何事情并返回true来点击按钮,则该方法不起作用。
这是我的jQuery ajax方法。
$(function () {
$('#customerSubmit').on('click', function (event) {
debugger;
event.preventDefault();
var title = $('#Title').val();
var firstName = $('#FirstName').val();
var phoneNo1 = $('#PhoneNo1').val();
var Email = $('#Email').val();
var address1 = $('#AddressLine1').val();
$.ajax({
type: 'POST',
url: '/Customer/IsExistCustomer',
data: { FirstName: firstName, Title: title, PhoneNo1: phoneNo1, AddressLine1: address1, Email: Email },
success: function (data) {
if (data == 1) {
alert('This Customer Already Exist');
return false;
}
else {
return true;
}
}
});
});
});请帮我理清头绪,
谢谢。
发布于 2014-05-26 18:40:26
您不能同步地从异步操作返回。
这里有一个关于一般问题的很好的QA:How do I return the response from an asynchronous call?
对于您的特定问题,您应该使用按钮而不是提交元素,并在回调中执行操作(提交表单):
$(function () {
$('#customerSubmit').on('click', function (event) {
var form = this.form; // <- depends on your DOM
var title = $('#Title').val();
var firstName = $('#FirstName').val();
var phoneNo1 = $('#PhoneNo1').val();
var Email = $('#Email').val();
var address1 = $('#AddressLine1').val();
$.ajax({
type: 'POST',
url: '/Customer/IsExistCustomer',
data: { FirstName: firstName, Title: title, PhoneNo1: phoneNo1, AddressLine1: address1, Email: Email },
success: function (data) {
if (data == 1) {
alert('This Customer Already Exist');
}
else {
form.submit(); // <- now submit the form
}
}
});
});
});https://stackoverflow.com/questions/23868205
复制相似问题