我有这个Javascript代码:
this.confirmBox = function(data) {
$.jconfirm((function(_this) {
return function() {
var objConfig;
objConfig = $.jconfirm("getConfig");
alert("here");
return true;
};
})(this));
return false;
};
this.beforeSend = function(event, jqXHR) {
if (this.confirmBox()) {
return this.disableSubmit();
} else {
return jqXHR.abort();
}
};
当我运行脚本时,我将登陆alert("here")
和return true
以获取函数confirmBox。
然而问题是由于某种原因,ajax调用本身不再被触发。我如何调整beforeSend函数以检查checkBox结果是真还是假?
答案 0 :(得分:1)
我认为在beforeSend中调用confirmBox方法总是返回false,因为$ .msgbox不像window.confirm方法那样阻止线程执行。当你得到结果时,你可能需要调用ajax调用==="确认"来自留言箱。
$.msgbox("confirm", {
type: "confirm",
buttons: [
{ type: "cancel", value: "Cancel" },
{ type: "submit", value: "Confirm" }
]}, function(result) {
if (result === "Confirm") {
// $.ajax(..)
}
}
};
答案 1 :(得分:1)
您必须在按钮上添加事件 请参阅this小提琴示例
buttons: {
"Yes": function () {
$(this).dialog('close');
callback(true);
},
"No": function () {
$(this).dialog('close');
callback(false);
}
}