Trigger a button click with JavaScript on the Enter key in a text box
我有一个文本输入和一个按钮(见下文)。当在文本框中按下enter键时,如何使用javascript触发按钮的单击事件?
当前页面上已经有一个不同的提交按钮,因此我不能简单地将该按钮设置为提交按钮。而且,我只想让enterabkbbkbd键单击这个特定的按钮,如果它是从这个文本框中按下的,其他什么都没有。
1 2 | <input type="text" id="txtSearch" /> <input type="button" id="btnSearch" value="Search" onclick="doSomething();" /> |
在jquery中,以下内容可以工作:
1 2 3 4 5 | $("#id_of_textbox").keyup(function(event) { if (event.keyCode === 13) { $("#id_of_button").click(); } }); |
1 2 3 4 5 6 7 8 9 | $("#pw").keyup(function(event) { if (event.keyCode === 13) { $("#myButton").click(); } }); $("#myButton").click(function() { alert("Button code executed."); }); |
1 2 3 4 5 | <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"> Username:<input id="username" type="text"> Password: <input id="pw" type="password"> <button id="myButton">Submit</button> |
或者在普通的javascript中,以下内容可以工作:
1 2 3 4 5 6 7 | document.getElementById("id_of_textbox") .addEventListener("keyup", function(event) { event.preventDefault(); if (event.keyCode === 13) { document.getElementById("id_of_button").click(); } }); |
1 2 3 4 5 6 7 8 9 10 11 12 | document.getElementById("pw") .addEventListener("keyup", function(event) { event.preventDefault(); if (event.keyCode === 13) { document.getElementById("myButton").click(); } }); function buttonCode() { alert("Button code executed."); } |
1 2 3 4 5 | <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"> Username:<input id="username" type="text"> Password: <input id="pw" type="password"> <button id="myButton" onclick="buttonCode()">Submit</button> |
那就编码吧!
1 2 3 4 5 6 7 8 9 10 11 | <input type ="text" id ="txtSearch" onkeydown ="if (event.keyCode == 13) document.getElementById('btnSearch').click()" /> <input type ="button" id ="btnSearch" value ="Search" onclick ="doSomething();" /> |
明白了:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | <input type="text" id="txtSearch" onkeypress="return searchKeyPress(event);" /> <input type="button" id="btnSearch" Value="Search" onclick="doSomething();" /> function searchKeyPress(e) { // look for window.event in case event isn't passed in e = e || window.event; if (e.keyCode == 13) { document.getElementById('btnSearch').click(); return false; } return true; } |
使按钮成为提交元素,这样它将是自动的。
1 2 3 4 5 | <input type ="submit" id ="btnSearch" value ="Search" onclick ="return doSomething();" /> |
请注意,您需要一个包含输入字段的