如何捕捉输入按键的?
在我的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
来代替,因此在文本框上按下最多会触发一个表单提交(如果一个表单中)
<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 rusn
alert("Enter was pressed was presses");
}
}
</script>
使用onkeypress
..检查按下的键是否输入(keyCode = 13)如果是调用searching()
函数。
HTML
<input name="keywords" type="text" id="keywords" size="50" onkeypress="handleKeyPress(event)">
JAVASCRIPT
function handleKeyPress(e){
var key=e.keyCode || e.which;
if (key==13){
searching();
}
}
更新:修复代码中的错误,可能导致以前投诉它的工作。
尝试这个....
内联HTML
onKeydown="Javascript: if (event.keyCode==13) fnsearch();"
or
onkeypress="Javascript: if (event.keyCode==13) fnsearch();"
JavaScript的
<script>
function fnsearch()
{
alert('you press enter');
}
</script>
链接地址: http://www.djcxy.com/p/51621.html
上一篇: How to capture enter key press of?
下一篇: How do I use the Enter key as an event handler (javascript)?