Jquery ajax在模态中不令人耳目一新

时间:2011-07-25 22:26:19

标签: jquery ajax modal-dialog .post

我正在使用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 个答案:

答案 0 :(得分:1)

这不是一个有效的选择器:$(“hidden#newsid”)。因此,“newsID”为空,post参数给出语法错误

{ message : messageText, newsid: },

答案 1 :(得分:0)

尝试 $( “#fancybox_content”)HTML(数据);

before()不会将结果放在fancybox_content中,它会把它放在它之前。

另外,如果结果是包含头部和所有内容的完整html文档,则会导致问题。你应该先解析结果

答案 2 :(得分:0)

假设#submit是提交按钮,您需要取消该按钮的默认行为,即提交表单。从点击处理函数返回false或使用e.preventDefault()