Pressing enter in text box to trigger click on a button
我需要在文本框中按Enter键以触发按钮上的单击事件。 字段和按钮是我不想使用此按钮提交的更大表单的一部分
这是代码
脚本
1 2 3 4 5 | document.getElementById('myInput').keyup=function(e){ if(e.keyCode==13){ document.getElementById('mybtn').click(); } } |
HTML
1 2 | <input id="myInput" type="text" name="txt" placeholder="Enter Tag name and click Add"autocomplete="off"/> <input id='mybtn' class="btn btn-primary" type="button" value="Add" onclick="retrieve('myInput');"/> |
按Enter键时没有任何反应
要将
通常,要向Element添加事件侦听器,语法为
, function(){})
使用
1 2 3 4 5 6 7 8 9 10 11 | <input id="myInput" type="text" name="txt" placeholder="Enter Tag name and click Add"autocomplete="off"/> <input id='mybtn' class="btn btn-primary" type="button" value="Add" onClick="retrieve('myInput');"/> document.getElementById('myInput').onkeyup=function(e){ if(e.keyCode==13){ document.getElementById('mybtn').click(); } } function retrieve(id){ console.log("Value:"+document.getElementById(id).value); } |
添加事件侦听器:
1 2 3 4 5 6 7 8 9 10 11 | <input id="myInput" type="text" name="txt" placeholder="Enter Tag name and click Add"autocomplete="off"/> <input id='mybtn' class="btn btn-primary" type="button" value="Add" onClick="retrieve('myInput');"/> document.getElementById('myInput').addEventListener("keypress", function(e){ if(e.keyCode==13){ document.getElementById('mybtn').click(); } }); function retrieve(id){ console.log("Value:"+document.getElementById(id).value); } |
使用内联事件处理程序:
1 2 3 4 5 6 7 8 9 10 11 | <input id="myInput" type="text" name="txt" placeholder="Enter Tag name and click Add"autocomplete="off" onkeyup="handleInputKeyup(event)"/> <input id='mybtn' class="btn btn-primary" type="button" value="Add" onClick="retrieve('myInput');"/> function handleInputKeyup(e){ if(e.keyCode==13){ document.getElementById('mybtn').click(); } } function retrieve(id){ console.log("Value:"+document.getElementById(id).value); } |
将
1 2 3 4 5 6 7 8 9 | document.getElementById('myInput').onkeyup = function(e) { if (e.keyCode == 13) { document.getElementById('mybtn').click(); } } function retrieve(elem) { console.log('clicked') } |
1 2 | <input id="myInput" type="text" name="txt" placeholder="Enter Tag name and click Add" autocomplete="off" /> <input id='mybtn' class="btn btn-primary" type="button" value="Add" onclick="retrieve('myInput');" /> |
或者,您可以将元素放在
1 2 3 | function retrieve(elem) { console.log('clicked') } |
1 2 3 4 | <form> <input id="myInput" type="text" name="txt" placeholder="Enter Tag name and click Add" autocomplete="off" /> <input id='mybtn' class="btn btn-primary" type="submit" value="Add" onclick="retrieve('myInput');" /> </form> |
检查返回键(
1 2 3 4 5 | document.getElementById('myInput').addEventListener("keyup", function(ev){ // console.log(ev.keyCode); if (ev.keyCode==13) document.getElementById('mybtn').dispatchEvent(new Event('click')); }) |
1 2 | <input id="myInput" type="text" name="txt" placeholder="Enter Tag name and click Add"autocomplete="off"/> <input id='mybtn' class="btn btn-primary" type="button" value="Add" onclick="console.log('clicked, input is: '+document.getElementById('myInput').value)"/> |
刚才意识到,除了我的
但是,
1 2 | var e=new Event('keyup'); e.keyCode=13; // generate an"Enterkey pressed" event document.getElementById('myInput').dispatchEvent(e); // apply it on the input element |