这真是令人沮丧,我会感谢一些帮助。我有一个div,在该div内部称为评论和表单。我想要做的是将表单发布到当前页面,并将其加载到div中,而不用重新加载整个页面。这是我目前的代码:Jquery .load和POST数据
<div id="comments">
<form action="#" method="post" onsubmit="return false;" >
<input type="hidden" name="txtname" value="test">
<textarea id="wysiwyg" name="wysiwyg" rows="5" cols="50"></textarea>
<input type="submit" name="post" id="post" value="Submit">
</form>
<script type="text/javascript">
EDIT: Read edit below for current code
</script>
</div>
当我提交时,警报触发,但页面无法加载。它可以正常工作,如果我按如下方式进行活动:
$("#comments").load("comments.asp");
它不喜欢发布数据。我以前使用.load,但从未发布数据。我从这些非常相同的论坛获得了上述代码。
我真的不确定'name'和'tel'的用途 - 在处理代码时是指那些变量还是表单变量名?这是ASP经典。
上面的代码有什么问题,我怎么能通过POST发送来自论坛的数据?谢谢!
编辑: 我现在用下面的代码:
$("#post").submit(function(event){
var $form = $(this),
$inputs = $form.find("input, select, button, textarea"),
serializedData = $form.serialize();
$inputs.attr("disabled", "disabled");
$.ajax({
url: "/comments.asp",
type: "post",
data: serializedData,
success: function(response, textStatus, jqXHR){
console.log("comment posted");
},
error: function(jqXHR, textStatus, errorThrown){
console.log(
textStatus, errorThrown
);
},
complete: function(){
// enable the inputs
$inputs.removeAttr("disabled");
}
});
event.preventDefault();
});
,现在它的使用得到妥善处理的形式...但是它去comments.asp。我怎样才能使所有的行动发生在一个特定的div(评论div?)
谢谢你的回应,是啊我很困惑在这一点上。这是我试图做的事情:我想显示一个评论框,它允许用户添加评论。当他们点击“提交”时,我想要提交评论,重新加载页面(带有确认消息,因此我需要能够访问该数据),然后再次显示相同的表单框,以便他们可以制作另一评论。所有这些都需要在同一个DIV中进行。基本上我想处理一个单独的div内的表单。 – 2012-04-15 03:37:05
无需使用AJAX重新加载页面即可实现所有这些。你想显示每个提交的评论吗?所以首先,只有评论框。然后,在添加第一条评论之后,显示评论,给出确认消息,并且该框在评论之下。然后,当添加另一条评论时,显示两条评论,给出第二条评论的确认,并且该框仍然存在等...(所有在评论div内)。这是你想要的效果吗? – Nick 2012-04-15 03:41:59
尼克,显示评论来自数据库,我已经有另一种显示方法。基本上,我唯一需要做的就是能够发布评论,而无需重新加载整个页面。评论发布的SQL部分在同一页面上处理(comments.asp)。在这一点上,我相当肯定即时通讯,使这远比它需要更复杂。 – 2012-04-15 03:49:13