Здравствуйте. Написал скрипт с использованием AJAX. Суть скрипта заключается в том, чтобы выводить входящие сообщения из БД. Скрипт выполняется каждую секунду дабы не пропустить сообщение.
$('.accept-btn').click(function() {
var id_session = $(this).closest('div p.msg-t').prev().text();
acceptMessage(id_session);
generateChat(id_session);
e.preventDefault();
})
function generateChat(id_session) {
$.ajax({
url: 'generatechat.php',
type: 'POST',
data: {'id_session': id_session},
success: function(data) {
},
error: function () {
$('.all-chats').html("Не удалось создать чат.");
}
});
}
function acceptMessage(id_session) {
$.ajax({
url: 'accept.php',
type: 'POST',
data: {'id_session': id_session},
success: function(data) {
},
error: function () {
}
});
}
Скрипт который выполняется каждую секунду, запускающий обращение к БД и вытаскивающий оттуда сообщения.
var interval = 1000;
show();
setInterval('show()', interval);
function show() {
$.ajax({
url: 'show.php',
timeout: 10000,
success: function(data) {;
$('.msg-to-all').html(data);
},
error: function() {
$('.msg-to-all').html("Не удалось загрузить сообщения");
}
});
}
Вопрос: Почему не удается нажимать на кнопку? Из за обновления блока с новыми сообщениями событие click() становится недоступным. Как это исправить? Заранее спасибо..)
Используйте метод jQuey
on()
. Таки образом:
$('.accept-btn').on('click', function() {
var id_session = $(this).closest('div p.msg-t').prev().text();
acceptMessage(id_session);
generateChat(id_session);
e.preventDefault();
});
Можно попробовать так
$('body').on('click','.accept-btn', function() {
var id_session = $(this).closest('div p.msg-t').prev().text();
acceptMessage(id_session);
generateChat(id_session);
e.preventDefault();
});
UPD: А на чем стоит preventDefault
? В Вашем коде обработчику клика не передается переменная e.
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Сверстал сайт с помощью Bootstrap
Есть два связанных select(main) и select(child) в form: Первый:
У меня есть формаПосле нажатия кнопки Submit я хочу что бы под формой появилась надпись что данные отправлены