在成功的ajax事件之后,我很难找到打开对话窗口的方法。目前,我正在使用jquery .html将一些html插入到div中,但我想要做的是创建一个带有html的对话窗口而不是使用标准的div。这是因为值会发生变化,因此标准响应不会发生变化。这可能吗?
我的示例代码中的div; #dialog-message,只是一个例子。感谢
jquery +对话框代码
//Begin function to submit report form
$(function () {
$("#frmreport").submit(function () {
var send = $(this).serialize();
$.ajax({
type: "POST",
url: "/sample/admin/frm10010.php",
data: send,
dataType: "json",
success: function (msg) {
$("#confirm_department").hide();
$(function () {
$("#dialog-message").dialog({
modal: true,
buttons: {
Ok: function () {
$(this).dialog("close");
}
}
});
});
//alert('You have succesfully submitted your '
// + msg.dept + ' report. Thank you.');
//$("#report_result").html("You have succesfully
// submitted your report. Thank you."+"<br /><br />");
$("#formShow").hide();
$("#formImage .col_1 li").show();
$("#frmreport").get(0).reset();
}
});
return false;
});
});
// End function to submit report form
答案 0 :(得分:0)
无需在$(function() {...});
函数中包装对话框初始化。这会将ready
事件侦听器附加到文档中,因此您不需要包含所有内容:http://api.jquery.com/jQuery/#jQuery3
尝试使用以下代码替换success
回调:
function (msg) {
$("#confirm_department").hide();
$("#dialog-message").dialog({
modal: true,
buttons: {
Ok: function () {
$(this).dialog("close");
}
}
});
//alert('You have succesfully submitted your ' + msg.dept + ' report. Thank you.');
//$("#report_result").html("You have succesfully submitted your report. Thank you."+"<br /><br />");
$("#formShow").hide();
$("#formImage .col_1 li").show();
$("#frmreport").get(0).reset();
}
此外,dialog()
是jQueryUI的一部分,而不是基本的jQuery库。您需要导入两个库才能使用。