Вопрос

Я использую модал 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);
                            }
                        );



});

});

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

Это было полезно?

Решение

Это не действительный селектор: $ ("Hidden#worned"). Итак, «газета» пуста, а параметры Post дают синтаксис

{ message : messageText, newsid: },

Другие советы

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

Прежде чем () не поместит результат в FancyBox_Content, он поместит его перед ним.

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top