-2

大家好 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,在发布输入按钮后,它从第一个项目和第二个发布到数据库差异 id,似乎重复值,我点击不同项目多少次,获得不同的 id,这个问题正在向我的数据库发送垃圾邮件。

4

1 回答 1

3

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

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

于 2013-07-19T05:58:29.870 回答