我有一個搜索欄,其中包含搜索其他網站上的內容的按鈕。我讓它正常工作(它在新標籤中搜索另一個網站),但每當我點擊搜索欄中的輸入,我正在重新加載頁面。首先它按下回車並點擊搜索重新加載,然後我將輸入類型更改爲按鈕而不是提交。點擊按鈕時,這會照顧重新加載,但當按下回車鍵時,頁面會重新加載。此外,它只會重新加載,如果搜索欄被點擊,而不是在任何時候。必須爲回車鍵選擇搜索欄才能重新加載頁面。如何停止在JavaScript中的窗體中重新加載頁面的輸入密鑰
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");
}
}
我希望能夠使用回車鍵進行搜索,但我不希望它重新加載頁面。
這樣,您就可以使用任何提交按鈕/圖像或點擊按下表單中輸入所需的結果提交表單。這對用戶體驗更好! –
所以我應該擺脫method =「POST」name =「searchform」id =「searchform」並使用onsubmit =「SearchBlog();而不是? –
不,我會放棄所有這些。如果你的用戶沒有啓用Javascript,它將會優雅地降級,但是,添加'onsubmit =「SearchBlog();」' –