私はブートストラップを使用していますが、2つの同じフォームがあります。 Google検索結果にフォーム送信を追加しようとしていますが、同じフォームの2つを含めると、同じIDが両方で同じであるために機能しません。これをどうすれば解決できますか? Googleは "G"を探しているので、IDは同じである必要があります。私は2つのフォームを持っている理由は、それがモバイル上で異なって表示されているためです。メディアクエリの使用。以下は私のコードのおかげです。フォームの検証に関する問題Javascript
<form name="globalSearch" class="navbar-form" role="search" form action="" onsubmit="return validateSearch()">
<div class="input-group add-on">
<input type="hidden" name="cx" value="" />
<input type="hidden" name="cof" value="FORID:11;NB:1" />
<input type="hidden" name="ie" value="UTF-8" />
<input class="form-control" placeholder="Search entire site..." id="q" name="q" type="text">
<div class="input-group-btn">
<button class="btn btn-default btnSubmit" type="submit">
<i class="glyphicon glyphicon-search"></i>
</button>
</div>
</div>
</form>
function validateSearch() {
if (globalSearch.q.value.length == 0) {
document.getElementById("q").value = "Enter a Value";
document.getElementById("q").style.color = "red";
return false;
}
}
1つのページに繰り返しIDを付けるのは悪い習慣です。異なるIDを使用し、同じ名前を使用してください。 –
Googleでは「q」が必要です。私はそれを変更することはできません – Tom
あなたはNAME属性だけでなく、IDに必要ですか? google.com検索ページからわかるように、名前属性とカスタムIDだけを使用します。 –