首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何抓取回车键?

如何抓取回车键?
EN

Stack Overflow用户
提问于 2012-12-21 17:18:34
回答 11查看 331.9K关注 0票数 59

在我的HTML页面中,我有一个文本框供用户输入关键字进行搜索。当他们点击搜索按钮时,JavaScript函数将生成一个网址并在新窗口中运行。

当用户用鼠标单击搜索按钮时,JavaScript函数工作正常,但当用户按回车键时,没有响应。

代码语言:javascript
运行
复制
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;
}
代码语言:javascript
运行
复制
<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>
EN

回答 11

Stack Overflow用户

回答已采纳

发布于 2012-12-21 17:42:19

表单方法

正如scoota269所说,你应该使用onSubmit代替,因为在文本框上按enter键最可能触发表单提交(如果在表单中)

代码语言:javascript
运行
复制
<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,否则表单将被提交。

代码语言:javascript
运行
复制
<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>
票数 102
EN

Stack Overflow用户

发布于 2012-12-21 17:22:48

使用onkeypress。检查按下的键是否为enter (keyCode = 13)。如果是,则调用searching()函数。

HTML

代码语言:javascript
运行
复制
<input name="keywords" type="text" id="keywords" size="50"  onkeypress="handleKeyPress(event)">

JAVASCRIPT

代码语言:javascript
运行
复制
function handleKeyPress(e){
 var key=e.keyCode || e.which;
  if (key==13){
     searching();
  }
}

下面是一个代码片段,展示了它的实际应用:

代码语言:javascript
运行
复制
document.getElementById("msg1").innerHTML = "Default";
function handle(e){
 document.getElementById("msg1").innerHTML = "Trigger";
 var key=e.keyCode || e.which;
  if (key==13){
     document.getElementById("msg1").innerHTML = "HELLO!";
  }
}
代码语言:javascript
运行
复制
<input type="text" name="box22" value="please" onkeypress="handle(event)"/>
<div id="msg1"></div>

票数 31
EN

Stack Overflow用户

发布于 2013-09-25 15:10:50

试试这个..。

HTML内联

代码语言:javascript
运行
复制
onKeydown="Javascript: if (event.keyCode==13) fnsearch();"
or
onkeypress="Javascript: if (event.keyCode==13) fnsearch();"

JavaScript

代码语言:javascript
运行
复制
<script>
function fnsearch()
{
   alert('you press enter');
}
</script>
票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13987300

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档