0
在我正在開發的一個項目中,我決定使用jQuery UI dalog模式來讀取消息。 重點在於使頁面不會刷新。我可以調用對話框如果我使用:從ajax POST函數調用jquery-ui對話框
<?php if (isset($_GET['var'])) ?>
但這意味着重新加載頁面設置$ _GET []值。
這兩個函數都單獨工作。我的問題是,如何從Ajax調用成功調用對話框函數。
我用的對話框顯示消息:
$(function() {
$('#dialog-modal').dialog({
show: { effect: "fade", duration: 400 },
hide: { effect: "fade", duration: 400 },
modal: true,
title: "Reading Message",
dialogClass: "no-close",
buttons: { "Close Message": function() { $(this).dialog("close"); } },
position: { my: "top", at: "top", of: window },
width: 500
});
});
而這個功能將數據發送給它拉消息信息PHP頁面:
function message_popup(messageID, userID)
{
$.ajax({
type: 'GET',
url: 'actions.php?type=readmessage',
data: 'messid=' + messageID + '&user=' + userID,
async: false,
success: function(msg){
console.log(msg);
}
});
}
在控制檯,它顯示它拉動正確的信息,甚至顯示整個DIV元素,如下所示:
<div id='dialog-modal'>
<table style='width: 480px;'>
<tr>
<td style='width: 20%; text-align: left;'>
Sender:
</td>
<td style='text-align: center;'>
Admin
</td>
</tr>
<tr>
<td style='width: 20%; text-align: left;'>
Subject:
</td>
<td style='text-align: center;'>
No Subject
</td>
</tr>
<tr>
<td style='width: 20%; text-align: left; vertical-align: top;'>
Message:
</td>
<td style='text-align: center;'>
Just trying to see why the enter is showing up so weird. I guess it could be something to<br />do with the escaping method but I can't be sure. Hopefull I can fix it.
</td>
</tr>
</table>
</div>
因此,所有的inf ormation在那裏,它只是不顯示任何東西在屏幕上。
這樣剛剛成立的Ajax請求的成功回調你的代碼。你的問題是什麼?好吧,我明白了,你不是將元素附加到DOM,所以你的選擇器返回空對象。您可以嘗試成功回調:'$(msg).dialog({...});' –
問題是,它不顯示對話窗口。我已經嘗試將UI函數放在成功回調中,但無濟於事。 – Seker
這工作完美!你可以發佈答案,以便我可以標記正確嗎? – Seker