【问题标题】:Javascript submit textbox on ENTER [duplicate]Javascript在ENTER上提交文本框[重复]
【发布时间】:2012-02-12 05:36:00
【问题描述】:

可能重复:
Bind textbox to 'enter' key

我已经进行了 ajax / jquery 聊天,并且文本框中没有用于消息的表单,所以我无法使用键盘上的 ENTER 提交该消息。有没有办法使用 javascript 从文本框中提交该值?

谢谢。

【问题讨论】:

    标签: javascript submit enter


    【解决方案1】:
    document.getElementById("id_of_your_textbox").addEventListener("keydown", function(e) {
        if (!e) { var e = window.event; }
        e.preventDefault(); // sometimes useful
    
        // Enter is pressed
        if (e.keyCode == 13) { submitFunction(); }
    }, false);
    

    【讨论】:

    • 如果你使用一个函数来做其他事情,比如我记得抛出一个 e.preventDefault();在函数调用之前防止表单被提交。
    • 原件阻止我在框中输入任何内容,经过编辑以使其正常工作。
    【解决方案2】:
    $('#textboxId').keydown(function (event) {
        let keyPressed = event.keyCode || event.which;
        if (keyPressed === 13) {
            $(this).closest('form').submit();
        }
    });
    

    如果您没有表单,请将$(this).closest('form').submit(); 替换为您拥有的任何 AJAX/提交逻辑。

    【讨论】:

      【解决方案3】:

      您需要监听 ENTER 按键事件。请查看Enter key press event in JavaScript 以获取有关如何完成的一些示例。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-06-20
        • 2010-10-26
        • 1970-01-01
        • 2013-12-27
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多