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
属性。您所指的按钮不是提交按钮。相反,它是一个“按钮”类型的按钮,没有隐含的副作用。“提交”是其文本内容。