2014-01-21 4 views
0

저는 PM 시스템 용 컬러 ​​박스를 사용하고 있습니다. '받은 편지함'링크를 클릭하고 colorbox를 열고 ajax를 통해받은 편지함 페이지를로드합니다. 받은 편지함 페이지에는 사용자 메시지의 링크 된 제목이 표시됩니다. 그것을 클릭하면 동일한 colorbox 안에 read_message 페이지가 열리게됩니다. 불행히도, 그렇지 않습니다. 링크를 클릭 할 때마다 상자 밖의 페이지가 열립니다.컬러 박스가 문서 외부 상자를 엽니 다.

나는 다른 것을 시도했지만 사랑은 전혀 없습니다. 어떤 도움을 주시면 감사하겠습니다!

자바 스크립트의 조각 (당신이 Colorbox.js의 전체 자바 스크립트를 필요로하는 경우에, 저 그렇게 알려 주시기 바랍니다!)

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

}); Colorbox

내 read_message.php 파일을 열어야합니다 링크 된 제목에 Clickin - Colorbox 한 번 $ 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> 

받은 편지함 페이지를 클릭하고있다

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

메시지 (링크)를 클릭하면 브라우저에 해당 링크로 리다이렉트하도록 지시하고 새로운 페이지가로드됩니다.

대신 자바 스크립트를 통해 $ .colorbox를 호출해야합니다. 이 도움이

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

희망 :

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

에 :에서 링크를 변경 !

+0

작은 변화가 있었지만 이제는 완벽하게 작동합니다. 덕분에! 건배 친구! – user3131209

+0

도움이 된 것을 기쁘게 생각합니다! – Yani

+0

빠른 질문 - 양식을 제출할 때도 마찬가지입니까? 나는 현재 action : message/delete_message.php로 설정되어있다. (method = "post"action = "message/delete_message.php). 제출 버튼이 있기 때문에 동일하거나 다른 작업을 수행합니까? (저는 JS에서 매우 멍청합니다) – user3131209

관련 문제