麻烦捕捉在javascript中输入击键

时间:2011-08-09 08:19:10

标签: javascript

这似乎很简单,但我无法使其发挥作用。

我正在尝试捕捉输入击键,然后运行一些代码,但是当我按下回车键时,页面会刷新并且没有任何反应。

这是我的剧本

function GetChar(event) {
    var keyCode = ('which' in event) ? event.which : event.keyCode;
    if (keyCode == '13') {
        var cQuery = document.getElementById('searchfield').value;
        var cURL = 'ProductGrid.aspx?Query=' + escape(cQuery);
        document.location = cURL;
    };

wheni hit进入页面刷新,搜索字段被清除,但它不运行if块中的任何代码

3 个答案:

答案 0 :(得分:1)

如果您的searchfield位于表单中,则此表单会被提交,导致您的代码无法运行。

您可以删除表单并只使用输入字段,或者您必须使用以下内容来停止表单提交:

<form onSubmit="this.preventDefault&&this.preventDefault();this.returnValue=false;return false;">

答案 1 :(得分:0)

您使用的是按键事件吗?资源管理器不会触发Enter ...

的按键事件

http://www.quirksmode.org/js/keys.html

答案 2 :(得分:0)

从您的函数返回false可以完成这项工作。