这是我的jQuery代码
$("#mappingForm").submit(function () {
alert("map clicked");
var mappedBdm = $("#mappedBDMs").val();
var result = false;
alert(mappedBdm);
$.ajax({
type: 'GET',
url: '../../mapMOPBDM',
data: {
mappedBdm: mappedBdm
},
success: function (html) {
if (html != "") {
result = confirm(mappedBdm + " is already assigned to" + html + ". Do you want to continue ?");
alert(result);
}
}
});
if (result == false) {
e.preventDefault();
}
});
显示的结果是错误的。但是表格仍然提交了???
可能是什么原因?什么是解决方案?
答案 0 :(得分:0)
e.preventDefault();你忘了通过电子书。 使用
if (result == false) {
return false;
}
代替
答案 1 :(得分:0)
您必须将e
传递给您的函数:
$("#mappingForm").submit(function (e) {
另外
if (result == false) {
e.preventDefault();
}
在你的ajax成功回调之前执行
答案 2 :(得分:0)
只是返回false ... result
未在呼叫退出前设置。
基本上你不能根据ajax调用结果做出决定,因为这会在以后发生(异步)。