我正在使用带有ajax的Jquery对话框。我试图通过单击一个按钮(ajax.always)来实现弹出对话框,然后在完成后用另一个对话框(ajax.done)代替。
我有以下代码:
$("#dialog").dialog({
autoOpen: false,
modal: true,
show: "blind",
hide: "explode",
resizable: false,
draggable: true,
closeOnEscape:false,
width: 180,
height: 200,
open: function(event, ui) { $(".ui-dialog-titlebar-close").hide(); }
});
$("#dialog2").dialog({
autoOpen: false,
modal: true,
show: "blind",
hide: "explode",
resizable: false,
draggable: true,
closeOnEscape:false,
width: 180,
height: 200,
open: function(event, ui) { $(".ui-dialog-titlebar-close").hide(); }
});
.....
$.ajax({
url: '****',
type: 'POST',
data: values,
})
.done(function() {
$("#dialog").dialog("close");
$("#dialog2").load('pages/success_page.php' , function() {
$("#dialog2").dialog("open");
setTimeout(function(){ $('#dialog2').dialog("close"); }, 3000);
});
})
.fail(function() {
console.log("error");
})
.always(function() {
$("#dialog").load('pages/loading_page.php' , function() {
$("#dialog").dialog("open");
});
});
});
但是,此解决方案无效。理想情况下,我正在寻找一种解决方案,其中,.always将始终打开带有loading.php页面的对话框,.done将用success.php替换所述对话框的内容,然后在几秒钟后关闭。
任何人都可以帮忙吗?
谢谢
所以freedomn-m暗示我已经研究了烤面包机,这真是太神奇了。简单易用的代码,效果很好。谢谢