0

歴史クラスのグーグル検閲のモックアップバージョンを作成しています。リダイレクトURLを変更して、独自の用語をURLに含めることができるようにしようとしています。

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になってしまいます。助言がありますか?Webサイトの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 に答える