我在通过 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();"/>&nbsp;
<a id="SearchButton" href="javascript:mySearch();" />Search</a>

有人可以帮忙吗?

最佳答案

尝试:

window.location = url; // instead of: document.location.href = url;

你的注册代码似乎在这里工作:http://jsfiddle.net/maniator/RzhXy/

关于javascript - document.location.href 未更新共享点中的 onkeypress,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5806626/

10-10 02:48