1

我被这样的代码困了4个小时:

$.loader = function (msg) {
    jQuery.prompt.close();
    $.prompt(msg, { buttons: { }, show: 'fadeIn', promptspeed: 50, overlayspeed: 'fast' });
}

function my_function() {
   jQuery.prompt.close(); 
   $.loader('saving..');
   $.ajax({ 
    type: "POST",
    url: dir + "save.php",
    data: form,
    success: function(html){
                 jQuery.prompt.close(); 
                 $.loader('loading..')
                 $.ajax({ 
             type: "POST",
             url: dir + "load.php",
             data: form,
             success: function(html){
                         jQuery.prompt.close(); 
                     }
            }
    })
}

$('#next').live('click', function () {
    $.loader('processing..');
    my_function()
})

任务很简单。单击#next 后,它应该首先显示带有“处理”对话框的对话框,稍后应该关闭它并显示“保存”。ajax 成功调用后,它应该使用“正在加载”对话框加载新数据,然后消失。一切都很完美,除了让我发疯的一件事——加载后出现带有“正在加载”文本的对话框,尽管我最后使用了 jQuery.prompt.close()。我为此奋斗了 4 个小时,我已经受够了……请帮忙……我做错了什么?我使用 jquery 1.7.1。

编辑:我找到了解决方案。不是真的,但它解决了我的问题:我发现 impromptu 使用 .jqimessage 类来获取对话框中显示的文本。我没有制作新对象然后再销毁它,而是先制作一次,然后再销毁它。同时,我只更改 .jqimessage 框中的一条消息。效果很好 - 看起来最简单的方法是最好的 :) 感谢您的帮助。

4

0 回答 0