enter to trigger button click?
我有一个像这样的HTML表单:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | <form name="f1"> <center> Search VMs: <input id='vms' name="word" type="text" size="50" placeholder="Name or IP, space delimited, partial name OK." autofocus autocomplete="off" pattern=".{3,}" required title="3 chars minimum" /> in <select name="vc" id='whichvc'> <option value="all" selected="selected">all VCs</option> </select> <input type="checkbox" id="check4detail" name="detail">Include details <input name='searchbutton' value="Search VMs" type="button" onclick='xmlhttpPost("/cgi-bin/search-vm.pl")' /> <input value="Clear" type="button" onclick="clearBox('result')" /> </center> </p> </form> |
如您所见,有一个文本输入字段和一些其他按钮,其中一个按钮具有与之关联的onclick()侦听器。 当用户输入文本并按Enter键时,如何触发该按钮上的onclick事件?
从论坛尝试了这个解决方案,但它不知何故不起作用:
1 2 3 4 | $('#vms').keypress(function(event){ if (event.which === 13){ $('#searchbutton').click();} }); |
顺便说一句,当我在字段中输入文本并单击搜索按钮时,它工作得很好。 但输入文字并按回车不会以某种方式触发搜索事件。
修改了@GolezTrol代码,以便输入文本字段上的onChange侦听器间接触发单击搜索按钮。
1 2 3 4 5 6 7 8 9 10 11 12 13 | <form action="" method="get"> Test field: <input type="text" name="test" onChange="aliasonclick"> <button name="searchbutton" id="clickthis" onclick="alert('it works!');">Submit</button> <button type="reset" value="Reset">Reset</button> </form> function aliasonclick() { var searchbutton = document.getElementById("clickthis") searchbutton.click() } |
将
将按钮类型更改为
1 2 3 4 5 | <form action="" method="get" onsubmit="return false;"> Test field: <input type="text" name="test"> <button type="submit" value="Submit" onclick="alert('it works!');">Submit</button> <button type="reset" value="Reset">Reset</button> </form> |
请注意,这是一个浏览器实现细节。 我不知道任何浏览器不能使用它,但同时我无法保证它可以在任何浏览器和任何平台上运行。