Enter キーでアクセスしたときに実行されるページ リダイレクト機能に問題があります。基本的に、onkeypress=Enter または検索をクリックすると、ページは事前設定された URL にリダイレクトされ、検索文字列がクエリに追加されます。
手動で [検索] をクリックするとリダイレクトが機能しますが、Enter キーを押すだけでは機能しません。検索機能が起動していることを確認するアラートを追加しましたが、document.location.href がページをリダイレクトしていません。FF4 では、ページが更新されます (ただし、検索文字列は保持されます)。IE7 では、ウィンドウを閉じます。
[編集] Sharepoint サイトでこれを使用しているのは適切なようです。このコードは、Sharepoint の外でも問題なく動作します。[/編集]
以下の例は、私が実装したものを単純化したものですが、問題を再現しています。
<script type="text/javascript">
function mySearch() {
var SearchString = document.getElementById("SearchBox").value;
var url = "http://stackoverflow.com/search?q="+SearchString;
alert(SearchString);
document.location.href = url;
}
</script>
<input id="SearchBox" onkeypress="if (event.keyCode == 13) mySearch();"/>
<a id="SearchButton" href="javascript:mySearch();" />Search</a>
誰でも助けることができますか?