我正在使用评论系统的画廊。这意味着当我点击下一个和上一个时,然后加载带有注释的新图片。但问题是我正在使用一个评论框,当我打开一张图片并为其提交评论时,它只提交相同的评论一次(它的工作方式),但是当我点击下一张图片时(图2)并为其提交评论,评论提交两次(而不是一次),第三次提交三次,依此类推。这是我的jquery代码希望有人帮助我这个
$('body').on('keyup', '#stg_cmtarea', function(e) {
if (e.which == 13 && $.trim(this.value).length) {
var picId = $(".gal_cmt_cnt_info").attr('gdata');
var userId = $("#mipicview-overlay-content").attr('vwid');
var comment = $("#stg_cmtarea").val();
var dataString = 'comment=' + comment + '&pic_id=' + picId + '&user_id=' + userId;
if ($.trim(comment).length == 0) {
alert("Please Enter Comment Text");
}
else {
$.ajax({
type: "POST",
url: "modules/gallery/piccomment_ajax.php",
data: dataString,
cache: false,
success: function(html) {
alert(html);
}
});
}
return false;
}
});
答案 0 :(得分:1)
我认为这段代码没有任何问题。它应该像你每次重新绑定keyup事件一样,并且事件只是被绑定到评论框太多次了。
答案 1 :(得分:0)
在我的iPad上书写,所以测试任何东西并不容易,但你可以这样:
更改
$('body').on('keyup','#stg_cmtarea',
使用
$('body').on('submit','#yourformid',
然后你应该删除e.which-part。如果你真的想在enter-push上提交,你可以创建一个侦听输入的函数。
这应该可以解决您的问题。请记住始终返回false,因此表单未提交。