2012-08-10 119 views
0

我正在与评论系统的画廊工作。这意味着当我点击下一个和上一个时,新的图片与其评论加载。但问题是我使用的是评论框,当我打开图片并提交评论时,它只提交一次相同的评论(它应该工作的方式),但是当我点击下一张图片(图片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

肯定的问题是不是在你的PHP代码? – 2012-08-10 13:18:07

+1

我看不出这个代码有什么问题。它应该像你每次重新键入事件事件,并且事件只是越来越多地被绑定到评论框。 – ChrisThompson 2012-08-10 13:19:03

+0

没有PHP代码就好了,因为改变我用一个按钮来提交而不是输入密钥,使用按钮它的工作正常,但使用回车键它不是 – 2012-08-10 13:19:53

回答

1

我没看到这段代码有什么问题。它应该像你每次重新键入事件事件,并且事件只是越来越多地被绑定到评论框。

0

写上我的iPad,所以它不容易测试任何东西,但你可以TYR此:

变化

$('body').on('keyup','#stg_cmtarea', 

随着

$('body').on('submit','#yourformid', 

您应该删除e.which部分。如果你真的想在enter-push上提交,你可以创建一个监听输入的函数。

这应该解决您的问题。记得总是返回false,所以表单不会被提交。

+0

提交整个代码停止工作 – 2012-08-10 13:21:35