Javascript 按enter键提交表格

Javascript 按enter键提交表格,javascript,html,dom,Javascript,Html,Dom,你好,我有以下代码 <div id="js_example"> <p id=js_intro_text> Introduce yourself! </p> <form id="js_form"> Please enter your name: <input id = "name_form" type="text

你好,我有以下代码

 <div id="js_example"> 
                    <p id=js_intro_text> Introduce yourself! </p>
                    <form id="js_form">
                        Please enter your name: <input  id = "name_form" type="text" name="full_name"><br>
                    <input type="button" onclick=greet() value="submit">
                    </form>
                    <p id="js_intro_answer"></p>
    </div>

自我介绍

请输入您的姓名:

这是一个非常简单的表单,它有一个按钮,用于读取表单文本框的值,并根据用户键入的名称向用户致意。但是,激活该功能的唯一方法是按下提交按钮。当用户选择所述文本框时,是否有方法通过按enter键激活文本框中的greet()函数

谢谢

  • 将该按钮替换为“提交”按钮
  • 将事件处理程序绑定到表单的提交事件
  • 例如:

    document.querySelector(“js#u示例”).addEventListener(“提交”,myFunction);
    函数myFunction(事件){
    event.preventDefault();
    log(“提交在id为“+this.id”的表单上激发的事件);
    }
    
    自我介绍

    请输入您的姓名:


    表单通常用于将数据发回服务器,但从按钮的“onclick”属性(防止表单重新加载页面)来看,似乎您只查看客户端

    您可以使用表单来实现此目的,但更简单的方法是去掉表单,让您的文本框侦听enter键

    这两种方法的简单例子都在这个答案中(重复的问题,真的)

    当用户选择所述文本框时,是否有方法通过按enter键激活文本框中的greet()函数

    是的,如果在通过检查
    document.activeElement

    例如,使用为具有id属性的元素设置的全局变量,并在加载窗口后添加提交处理程序:

    window.onload = function (){
    
        js_form.onsubmit = function () {
           if( document.activeElement == name_form) {
               greet();
               return false;
           }
        }
     };
    
    这将允许您在以后单独添加一个真正的提交按钮。为了防止从任何输入元素提交,而不是测试特定元素(
    name\u form
    ),可以将问候语测试更改为

        if( document.activeElement.tagName == "INPUT") {
    

    第一段代码在标记中,对吗?是的,请参阅外部托管的实时演示的链接。对于初学者来说,“绑定”意味着什么?@alexp2603-调用
    addEventListener
    或使用
    onsomething
    属性。您所指的按钮不是提交按钮。相反,它是一个“按钮”类型的按钮,没有隐含的副作用。“提交”是其文本内容。