我正在使用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);
}
);
});
});
知道我在这里缺少什么吗?
答案 0 :(得分:1)
这不是一个有效的选择器:$(“hidden#newsid”)。因此,“newsID”为空,post参数给出语法错误
{ message : messageText, newsid: },
答案 1 :(得分:0)
尝试 $( “#fancybox_content”)HTML(数据);
before()不会将结果放在fancybox_content中,它会把它放在它之前。
另外,如果结果是包含头部和所有内容的完整html文档,则会导致问题。你应该先解析结果
答案 2 :(得分:0)
假设#submit
是提交按钮,您需要取消该按钮的默认行为,即提交表单。从点击处理函数返回false或使用e.preventDefault()
。