首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Firefox3.5中捕获enter键并使用Window.Location重定向页面?

如何在Firefox3.5中捕获enter键并使用Window.Location重定向页面?
EN

Stack Overflow用户
提问于 2009-11-27 11:23:53
回答 2查看 1.1K关注 0票数 0

我正在尝试实现一个搜索功能,该功能捕获Enter键并重定向到ASP.NET 3.5应用程序中的不同页面。不幸的是,它不能在Firefox (3.5版)中工作,但在IE中工作得很好。请参考以下代码:

脚本:

代码语言:javascript
复制
function searchKeyPress(e) {
  if (window.event) { e = window.event; }
  if (e.keyCode == 13) {
    document.getElementById('btnSearch').click();
  }
}
function redirect() {
  document.location = "http://localhost:5555/search.aspx?q=keyword";
}

标记:

代码语言:javascript
复制
  <form name="form1" method="post" runat="server" id="form1"/>
     <input type="text" id="txtSearch" onkeypress="searchKeyPress(event);"/>
     <input type="button" id="btnSearch" Value="Search" onclick="redirect();"/>
  </form/>

还有没有人遇到过这个问题?

任何帮助都将不胜感激!

EN

回答 2

Stack Overflow用户

发布于 2009-11-27 11:32:32

为什么不使用Submit按钮和表单操作将您带到搜索页面?默认情况下,submit按钮显示了您正在寻找的行为,因此不需要javascript。

代码语言:javascript
复制
<form name="form1" method="get" action="/search.aspx" id="form1"/>
    <input type="text" id="q" />
    <input type="submit" id="btnSearch" Value="Search" />
</form/>

如果您真的想坚持使用您的javascript解决方案(我不推荐使用它,因为它不太容易访问,并且依赖于javascript),那么可以尝试一下。

代码语言:javascript
复制
function searchKeyPress(e) {
  e = e || window.event || event;
  var code = e.charCode || e.keyCode || e.which;
  if (code == 13) {
    redirect();
  }
}
票数 1
EN

Stack Overflow用户

发布于 2009-11-27 11:30:43

代码语言:javascript
复制
  <script type="text/javascript">
    function searchKeyPress(e) {
        if (window.event) { e = window.event; }
        if (e.keyCode == 13) {
            document.getElementById('form1').submit();
        }
    }
    function redirect() {
       document.location = "http://localhost:5555/search.aspx?q=keyword";
    }
</script>

使用forms.submit()而不是.click(),.click()只在ie上支持,在火狐中也支持提交。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1806599

复制
相关文章

相似问题

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