我有一个搜索栏,其中包含一个搜索其他网站上的内容的按钮。我让它正常运行(它在新标签中搜索其他网站),但无论何时我点击搜索栏中的输入,我正在重新加载的页面。首先它按下输入并单击搜索重新加载,然后我将输入类型更改为按钮而不是提交。单击按钮时会重新加载,但按下回车键后页面会重新加载。此外,它仅在单击搜索栏时重新加载,而不是仅在任何时候。必须为enter键选择搜索栏才能重新加载页面。
html:
<div id="search-3" class="widget widget_search">
<h3 align="center">Search the other site!</h3>
<form method="post" name="searchform" id="searchform">
<span class="searching">
<input type="text" value="" name="s" id="s" />
</span>
<input class="submit" type="button" Onclick="SearchBlog();" value="Search" />
</form>
</div>
的javascript:
function SearchBlog()
{
var searchQuery = document.searchform.s.value;
if(searchQuery != ""){
var destination = "website.com/s" + searchQuery;
window.open(destination, "_blank");
}
}
我希望能够使用回车键进行搜索,但我不希望它重新加载页面。
答案 0 :(得分:2)
那是因为你提交的页面不在那里。
在onsubmit
声明中使用<form>
代替:
<form method="POST" name="searchform" id="searchform" onsubmit="SearchBlog();">
...
</form>
然后确保在SearchBlog()函数中return false;
。你应该好好去。
答案 1 :(得分:0)
试试这个:
<input class="submit" type="button" Onclick="return SearchBlog();" value="Search" />
和
function SearchBlog()
{
var searchQuery = document.searchform.s.value;
if(searchQuery != ""){
var destination = "website.com/s" + searchQuery;
window.open(destination, "_blank");
}
return false;
}