2014-01-21 156 views
0

我正在使用Colorbox作爲我的PM系統。點擊「收件箱」鏈接,打開colorbox並通過ajax加載收件箱頁面。收件箱頁面顯示用戶信息的鏈接標題。點擊,應該打開同一個colorbox內的read_message頁面。不幸的是,事實並非如此。每當我點擊鏈接,它只是打開框外的頁面。Colorbox打開文檔外部的文檔

我試過不同的事情,但沒有任何愛。任何幫助,將不勝感激!

的javascript片(如果需要Colorbox.js整個的javascript,請讓我知道這樣的!)

$(document).ready(function(){ 
$("#ajax").colorbox({ajax:true, width:"500px", height:"450px"}); 

});

頁面打開的彩盒一次$ newMessages或$ noNewMessages已經被點擊

<div class="pageHeader"> 
<p class="title"><?php echo $myAccount ?></p> 
<a class="viewMessages" id="ajax" href="message/inbox.php"> 
<?php 
if (mysqli_num_rows($getAmountMessages) > 0) { 
    $row = mysqli_fetch_array($getAmountMessages); 
     if($row['message_read'] == 0){ 
     echo $newMessages; 
     } else { 
     echo $noNewMessages; 
    } 
} 
?> 
</a> 
</div> 

收件箱頁面 - 上鍊接的標題Clickin應該打開彩盒

內read_message.php文件
//Select messages in db 
$getMessages = mysqli_query($mysqli,"SELECT * FROM messages WHERE recipient = '".$_SESSION['user_id']."' ORDER BY message_id DESC"); 
$numMessages = mysqli_num_rows($getMessages); 

//Message(s) available for user 
if (mysqli_num_rows($getMessages) > 0) { 
echo '<ul>'; 

for($count = 1; $count <= $numMessages; $count++) 
{ 
    $row = mysqli_fetch_array($getMessages); 
    //Show if a message is still new 
    if($row['message_read'] == 0) 
    { 
    echo '<a id="ajax" href="message/read_message.php?messageid='.$row['message_id'].'">'.$row['message_title'].'</a>(NEW MESSAGE)<br>'; 
    }else{ 
    echo '<a id="ajax" href="message/read_message.php?messageid='.$row['message_id'].'">'.$row['message_title'].'</a><br>'; 
    } 
} 
echo '</ul>'; 

    //No message(s) available for user 
    }else{ 
    echo ("<p class='messagesinfo'>Er zijn geen nieuwe berichten</p>"); 
    } 

謝謝。

回答

1

點擊消息(鏈接)時,您告訴瀏覽器重定向到該鏈接,這將導致新的頁面加載。

相反,您需要通過javascript調用$ .colorbox。 更改您的鏈接:

<a id="ajax" href="message/read_message.php?messageid='.$row['message_id'].'">'.$row['message_title'].'</a> 

<a id="ajax" onclick="showMessage($row['message_id'])">'.$row['message_title'].'</a> 

在JavaScript中添加以下功能:

function showMessage(id) { 
    $.colorbox({href:"message/read_message.php?messageid=" + id}); 
} 

希望這有助於!

+0

不得不做一個小的改變,但它現在完美的工作,謝謝你!乾杯好友! – user3131209

+0

很高興幫助! – Yani

+0

快速問題 - 如果我想要提交表單一樣,該怎麼辦?我目前的操作設置爲:message/delete_message.php。 (method =「post」action =「message/delete_message.php)。我是否做了相同或其他的事情,因爲它是一個提交按鈕?(我在JS中非常nooby) – user3131209