function CheckAdd() {
var flag = true;
$.ajax({
cache: false,
async: false,
url: "/ajaxpage/getajax.aspx?t=adjserviceclientlist&Cellphone=" + Cellphone + "&a=" + Math.random(),
dataType: 'json',
success: function (data) {
if (data != null) {
var result = data["Remark"];
if (result == '此号码已经存在并且已经绑定了主号,不能再次绑定!') {
alert(result);
flag = false;
}
if (result == '此号码已经存在,确定要绑定到主号上吗?') {
if (confirm('此号码已经存在,确定要绑定到主号上吗?')) {
$('#MainContent_Hiddend_IsExitCellPhone').val('1');
} else {
flag = false;
}
}
}
}
})
if (!flag) {
return false;
}
}
<asp:Button ID="Button4" runat="server" Text="提 交" OnClick="btnAddCustomer_Click" OnClientClick="return CheckAdd();" />
问题一:ajax默认为异步执行,所以,当执行ajax时,其实也在执行后台方法了。如:
async: false即为同步了。
问题二:ajax请求返回的数据里,进行判断,不能直接进行 return false操作,需要赋值,请求方法外执行。如:
if (!flag) {
return false;
}