$('#srch').click(function(e){
if ($("#form").validationEngine({returnIsValid:true})) {
$("#loader").dialog('open');
$.ajax({
type: "GET",
url: "/cdr/abc.php",
cache: false,
data: $("#srch").serialize(),
timeout: 5000,
error: function (XMLHttpRequest, textStatus, errorThrown) {
//ajaxSubmitError(XMLHttpRequest, textStatus, errorThrown);
},
success: function (data) {
$('#submit-dialog').dialog('close');
}
});
e.preventDefault();
}
});
在上面的函数中我无法导航到动作(php)页面。对话框无限运行,如何在表格提交时关闭对话框
答案 0 :(得分:0)
在我的模型窗口中,我使用带有MVC的AJAX表单,但无论采用何种技术,解决方案都应该有效。
<% using (Ajax.BeginForm("Index", "Message", new AjaxOptions { OnBegin = "SubmitMessage", OnSuccess = "CloseDialog" }, new { @id = "Index-Message" })) { %>
<input type="submit" value="Send" class="Button" />
<% } %>
然后我将这个小函数放在调用窗口中。
function CloseDialog() {
$("#Modal").dialog("close");
}
答案 1 :(得分:0)
您也可以在错误事件中关闭对话框。
error: function (XMLHttpRequest, textStatus, errorThrown) {
$('#submit-dialog').dialog('close');
},
答案 2 :(得分:0)
你实际上需要这样的东西:
$('#srch').click(function(e){
var $dialogContent = $("#form");
$dialogContent.dialog({
modal: true,
title: "Test",
close: function() {
$dialogContent.dialog("destroy");
$dialogContent.hide();
},
buttons: {
save : function() {
$.ajax({
type: "GET",
url: "/cdr/abc.php",
cache: false,
data: $("#srch").serialize(),
timeout: 5000,
error: function (XMLHttpRequest, textStatus, errorThrown) { //ajaxSubmitError(XMLHttpRequest, textStatus, errorThrown); },
success: function (data) {
$dialogContent.dialog("close");
}
});
},
cancel : function() {
$dialogContent.dialog("close");
}
}
}).show();
e.preventDefault();
}
您可以在保存功能中进行任何验证。