1

別のサイトのものを検索するボタンのある検索バーがあります。正しく機能するようになりました(新しいタブで他のサイトを検索します)が、検索バーでEnterをクリックすると、現在のページがリロードされます。最初はEnterキーを押して検索をクリックしてリロードし、次に入力タイプを送信ではなくボタンに変更しました。これにより、ボタンをクリックしたときのリロードが処理されましたが、Enter キーを押すとページがリロードされます。また、常にではなく、検索バーがクリックされた場合にのみリロードされます。ページをリロードするには、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");
    }
}

Enter キーを使用して検索できるようにしたいのですが、ページをリロードしたくありません。

4

2 に答える 2

2

それは、そこにないページに送信しているためです。

代わりに宣言で使用onsubmitします。<form>

<form method="POST" name="searchform" id="searchform" onsubmit="SearchBlog();">
   ...
</form>

次にreturn false;、 SearchBlog() 関数で確認してください。そして、あなたは行く準備ができているはずです。

于 2012-09-13T15:47:31.797 に答える
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;
}
于 2012-09-13T15:47:48.697 に答える