2

所以我正在为历史课制作一个模拟版的谷歌审查。我试图让搜索在按 Enter 后工作,但到目前为止,我得到的只是搜索我输入的第一个字母。有什么建议么?

HTML 代码:

<form id="searchBox">
    <input type="text" id = "search" name="search" size="85" onKeyUp="searchCensor()"/><br />        
</form>

JavaScript 代码:

function searchCensor() 
{
    var keyTerms = document.getElementById("search").value;
    if(keyTerms == "censorship")
        window.location = "http://andrewgu12.kodingen.com/history/censor.php";
    else if(window.event.keyCode == 13)
        window.location = "https://www.google.com/search?q="+keyTerms;
    else 
        window.location = "https://www.google.com/search?q="+keyTerms;
}
4

2 回答 2

1

您需要检查正在按下哪个键......每次按下任何键时,您都在运行您的功能。在您的 searchCensor() 函数中,您将希望进行如下检查:if (event.keyCode == 13) {

于 2012-04-20T16:19:13.493 回答
0

这是你的逻辑:

如果搜索字段的值为“censorship”,则直接转到此页面

否则,如果按键是 [Enter],请在 google 上搜索搜索字段的值

否则,在任何其他情况下,在谷歌上搜索搜索字段的值

现在,假设您在搜索字段中点击“e”。发生什么了?

首先检查:这不是“审查”,跳过

第二次检查:hit键不是[Enter],跳过

第三次检查:好的,之前的检查都没有通过,我正在做这个。

因此,您最终会在 Google 上搜索字母“e”。

你知道这是怎么回事吗?

也就是说,脱掉else,你会没事的。

于 2012-04-20T16:26:50.143 回答