С Рождеством всех !!!
У меня есть система личных сообщений на моей странице. Чтобы показать и управлять сообщениями, я использую jquery. Это файл, о котором я хочу поговорить:
<!-- get the message and show it -->
<script type="text/javascript">
$('.message').click(function() {
var msgId = $(this).attr('id').replace('msg','');
$.get('retrieve_msg_content.php?msgID='+msgId,function(data) {
$('#target').html(data);
})
// change status to read (1). type: 'POST',
$.ajax({ type: 'POST', url: 'change_status.php', data: "msgID="+msgId+"&action=read", });
});
// if img X is clicked, change status to erased(3)!
$('.delete_msg').click(function() {
var msgId = $(this).attr('id').replace('msg','');
$.ajax({
type: 'POST', url: 'change_status.php', data: "msgID="+msgId+"&action=delete",
success: function(){
$('#message_line'+msgId).hide('slow');
$('#target').html('Haz click en un mensaje para leerlo!');
$('#refresh').load("retrieve_msg_received.php");
}
});
});
</script>
<!-- END of get the message and show it -->
<div id="refresh">
<?php include 'retrieve_msg_received.php'; ?>
</div>
<span id="target"></span>
Позвольте мне объяснить сейчас. Первый раздел: когда вы нажимаете на сообщение, оно вызывает retrieve_msg_content.php, заменяет содержимое сообщения в #target, а затем меняет статус на «1» (чтение).
Второй раздел - удаление сообщения: оно изменяет статус сообщения на «3», затем скрывает только что удаленное сообщение, помещает что-то приятное в #target и перезагружает список сообщений. Все работает нормально, пока вы не попытаетесь прочитать другое сообщение после того, как сообщения были перезагружены. По какой-то причине вы нажимаете на любое сообщение, но оно не отображается, и я не вижу никакой активности (нет обращений к другим файлам -retrieve_msg_content.php).
Осматривая элементы, я вижу, что они похожи до и после «обновления»
перед обновлением (вверху) вы можете увидеть #target (Версия ...)
после обновления внизу (тот же класс, тот же идентификатор):
Надеюсь, вы, ребята, можете помочь. Спасибо !!!