Javascript重复ID

时间:2013-07-19 05:51:08

标签: php javascript post double double-submit-problem

大家好J在 Javascript 有问题。这是代码,

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,然后在发布后输入按钮后发布到< strong>数据库第一项和第二项的差异ID,似乎重复值,我点击不同项目的次数,得到不同的ID,这个问题是垃圾邮件我的数据库。

1 个答案:

答案 0 :(得分:3)

每次单击该按钮,都会向keydown添加另一个#textarea绑定。因此,如果您单击按钮5次,那么当您按Enter键时,keydown绑定将运行5次。

您应该将$('#postDiv').on('keydown', '#textarea', ...)移到函数外部,然后在文档就绪处理程序中执行一次。