Colorbox在框外打开文档

时间:2014-01-21 19:54:22

标签: php mysql colorbox

我在我的PM系统中使用Colorbox。点击“收件箱”链接,打开彩盒并通过ajax加载收件箱页面。收件箱页面显示用户消息的链接标题。单击它,应该在同一个颜色框中打开read_message页面。不幸的是,事实并非如此。每当我点击链接时,它只会打开框外的页面。

我尝试了不同的东西,但没有任何爱。任何帮助将不胜感激!

一段javascript(如果你需要Colorbox.js的整个javascript,请让我知道!)

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

});

点击$ newMessages或$ noNewMessages后打开Colorbox的页面

<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>

收件箱页面 - 点击链接标题应打开Colorbox中的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 个答案:

答案 0 :(得分: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});
}

希望这有帮助!