如何捕捉输入按键的?

在我的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)?