0

我正在为历史课创建一个模拟版的谷歌审查。我正在尝试修改重定向网址,以便可以将自己的条款放入网址中:

function searchCensor() 
{
var keyTerms = document.getElementById("search").value;
if(keyTerms == "censorship")
    window.location = "http://andrewgu12.kodingen.com/history/censor.php";
else
    window.location = "https://www.google.com/#hl=en&output=search&sclient=psy-ab&q="+keyTerms+"&oq="+keyTerms+"&aq=f&aqi=g4&aql=&gs_l=hp.3..0l4.851563l851824l0l851964l3l3l0l0l0l0l171l359l1j2l3l0.&pbx=1&bav=on.2,or.r_gc.r_pw.r_cp.r_qf.,cf.osb&fp=bb242dc4ab43ba95&biw=1920&bih=963"
}

在 else 块中,我尝试将 keyTerms 插入 URL,但在搜索开始时我最终得到 undefined。有什么建议么?这是该网站的 URL:http: //andrewgu12.kodingen.com/history/

4

2 回答 2

1

同一页面顶部栏上的“搜索”链接具有相同的 id search,因此当您执行 时document.getElementById('search'),javascript 返回 DOM 中的第一个元素id = search,它是anchor顶部栏上的 ,而不是您的输入。

您可以改为name为您的搜索表单提供一个属性:

<form id="searchBox" name="searchForm">
    <input type="text" id="search" name="search" size="85"><br>        
</form>

在你的 js 中

var keyTerms = document.searchForm.search.value;
// rest of your code
于 2012-04-18T03:33:18.583 回答
0

在顶部的标题栏中,您有一个标有“搜索”的按钮,该按钮也有 id "search"。尝试从该元素中删除 id。

于 2012-04-18T03:36:36.913 回答