JQuery AJAX не обновляется в модальном - PullRequest
0 голосов
/ 26 июля 2011

Я использую модальный fancybox для отображения комментариев со страницы новостей, взятой из базы данных MySQL. Модал также имеет раздел, который позволяет пользователям размещать новые комментарии. Я использую jquery для отправки информации о форме другому сценарию для обработки.

Вместо того, чтобы возвращать успешное сообщение, он публикует информацию и перенаправляет ее на страницу вместо отображения информации в модале.

Вот jquery, который должен вызвать это:

$(document).ready(function(){ 
$("#submit").click(function() {
/* Set some vars */
                        var messageText = $("textarea#message").val();
                        var newsID = $("hidden#newsid").val();


                        $.post('/process/newmsg.php',
                            { message : messageText, newsid: newsID },
                            function(data) {
                                $("#fancybox_content").before(data);
                            }
                        );



});

});

Есть идеи, что мне здесь не хватает?

Ответы [ 3 ]

1 голос
/ 26 июля 2011

это недопустимый селектор: $ ("hidden # newsid"). Итак, «newsID» пуст, а параметры записи дают синтаксическую ошибку

{ message : messageText, newsid: },
0 голосов
/ 26 июля 2011

Предполагая, что #submit - кнопка отправки, вам нужно отменить поведение этой кнопки по умолчанию, а именно отправить форму. Либо верните false из функции обработчика кликов, либо используйте e.preventDefault().

0 голосов
/ 26 июля 2011

Попробуйте $ ("# fancybox_content"). Html (data);

before () не поместит результат ВНУТРИ fancybox_content, он будет помещен перед ним.

также, если результатом будет полный HTML-документ, включая заголовок и все остальное, это вызовет проблемы.Вы должны сначала проанализировать результаты

...