我正在尝试在我的网站上建立一个评论系统。我管理 ajax 部分,评论从表单提交到调用的 php 文件,然后将数据存储在 mysql db 中。存储后的数据被附加到已经存在的评论中。
我遇到的问题是,如果您在同一页面的前一条评论之后发表另一条评论,则下一条评论会添加两次。再做一次,下一个被添加三遍,依此类推。我想我在某个地方弄错了 jquery,但似乎找不到它。
这是我正在使用的表格:
<form class="short style" id="postnewscomment" name="postnewscomment" onsubmit="javascript:postnewscomments();">
<textarea style="width:95%;" name="commenttext" required data-required="true" placeholder="Uw comment" /></textarea>
<input type="hidden" name="task" value="addcomment" />
<input type="hidden" name="postername" value="<? echo $_SESSION['user_id']; ?>" />
<input type="hidden" name="newsid" value="<? echo $newsid; ?>" />
<div class="button">
<button value="postnews" name="Submit" type="submit">Add Comment</button>
</div>
</form>
这是由表单调用的我的 jquery 代码:
function postnewscomments() {
$("#postnewscomment").submit(function(e){
e.preventDefault();
var hasError = false;
var url = "postnewscomments.php";
var texttopost = "#postnewscomment";
if(hasError == false) {
$.post(url, $(texttopost).serialize() ,function(data) {
$(data).hide().appendTo("#newscomment").fadeIn(1000);
// code to reset form values to empty
$( '#postnewscomment' ).each(function(){
this.reset();
});
});
}
return false;
});
}