2013-05-16 66 views
0

我的代码如下:如何摆脱不必要的JQuery弹出警告框

function loadPage(url){ 
    $("#wrapper").load(url, function(){ 
     $("#wrapper").find($('a')).each(function(){ 
      $(this).on('click', function(e){ 
       loadPage($(this).attr('href')); 
       e.preventDefault(); 
      }); 
     }); 
    }); 
} 

function JQueryAlert(message,windowHeight){ 
if (!windowHeight) var windowHeight = 470; 

$("#msgdialog").remove(); 

$("body").append("<div id='msgdialog'></div>"); 

thatmsg = $("#msgdialog"); 

$("#msgdialog").dialog({ 
    resizable: false, 
    draggable: false, 
    width: 770, 
    height: windowHeight, 
    context: thatmsg, 
    modal: true, 
    autoOpen: false, 
    buttons: { 
     "Cancel" : function(){ 
      thatmsg.dialog("close"); 
     }, 
     "OK" : function(){ 
      loadPage("combat.php"); 
     } 
    } 
});  

$("#msgdialog").html(message); 
$("#msgdialog").dialog('open'); 
} 

$(document).ready(function() { JQueryAlert("HELLO!", 120); }); 

正如你可以看到这个显示弹出警告框,并在用户点击OK,它加载的文件作战。 PHP。 Combat.php只是一个纯粹的PHP文件,它回应了一些类似“Hello world!”的调试消息。

现在,我的问题是,点击OK和combat.php加载后,第一个弹出窗口会消失,但会弹出另一个窗口。我可以通过调用document.body.remove(“#ui-dialog-titlebar ui-widget-header ui-corner-all ui-helper-clearfix”)来摆脱它。在我的combat.php中,但这有不必要的影响,“Hello World!”不再显示。我如何摆脱这种不需要的弹出?

感谢您的阅读。

+0

是什么'loadPage()'做什么? – Barmar

+0

loadPage将页面加载到div中。 – user2361103

+1

它有助于在'OK'函数中调用'thatmsg.dialog(“close”)'? – Barmar

回答

0

用途:

"OK" : function(){ 
     loadPage("combat.php"); 
     thatmsg.dialog("close"); 
    }