2013-07-19 30 views
-2

你好家伙J有问题在Javascript。这是代码,Javascript重复ID

function reply_click(clicked_id) { 
    var la = <? php echo json_encode($logOptions_id); ?> ; 
    var mood = clicked_id; 
    $.post('msg.php', { 
     myne: la, 
     mood: mood 
    }, function (data) { 
     $('#nov').html(data); 
    }); 
    $('#postDiv').on('keydown', '#textarea', function (e) { 
     if ((e.which == 13) && !event.shiftKey) { 
      var textarea = $("#textarea").val(); 
      $.post('pst.php', { 
       mibe: la, 
       voot: mood, 
       pst: textarea 
      }, function (data) { 
       var textarea = $("#textarea").val(''); 
      }); 
     } 
    }); 
} 

问题是,当我点击项目我得到clicked_id,岗位信息,其确定后,但后来我再次点击该项目时,我得到的第二个ID,和后后回车键它发布到数据库差异ID从第一项和第二,似乎重复值,多少次我点击不同的项目,获得不同的ID和这个问题是垃圾邮件我的数据库。

回答

3

每次单击该按钮时,都会添加另一个​​与#textarea的绑定。所以如果你点击5次按钮,那么当你按下Enter时,keydown绑定将会运行5次。

您应该将$('#postDiv').on('keydown', '#textarea', ...)移到该函数之外,并且只需在文档就绪处理程序中执行一次即可。