我在通过 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>
有人可以帮忙吗?
最佳答案
尝试:
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/