2012-08-10 118 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