在我的 HTML 页面中,我有一个文本框供用户输入关键字进行搜索。当他们单击搜索按钮时,JavaScript 函数将生成一个 URL 并在新窗口中运行。
当用户用鼠标单击搜索按钮时,JavaScript 函数工作正常,但当用户按 ENTER 键时没有响应。
function searching(){
var keywordsStr = document.getElementById('keywords').value;
var cmd ="http://XXX/advancedsearch_result.asp?language=ENG&+"+ encodeURI(keywordsStr) + "&x=11&y=4";
window.location = cmd;
}
<form name="form1" method="get">
<input name="keywords" type="text" id="keywords" size="50" >
<input type="submit" name="btn_search" id="btn_search" value="Search"
onClick="javascript:searching(); return false;" onKeyPress="javascript:searching(); return false;">
<input type="reset" name="btn_reset" id="btn_reset" value="Reset">
</form>
形式方法
正如scoota269所说,你应该使用onSubmit
相反,在文本框中按 Enter 键很可能会触发表单提交(如果在表单内)
<form action="#" onsubmit="handle">
<input type="text" name="txt" />
</form>
<script>
function handle(e){
e.preventDefault(); // Otherwise the form will be submitted
alert("FORM WAS SUBMITTED");
}
</script>
文本框方法
如果您想在输入字段上发生事件,那么您需要确保您的handle()
将返回 false,否则表单将被提交。
<form action="#">
<input type="text" name="txt" onkeypress="handle(event)" />
</form>
<script>
function handle(e){
if(e.keyCode === 13){
e.preventDefault(); // Ensure it is only this code that runs
alert("Enter was pressed was presses");
}
}
</script>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)