/ / GETリクエストを使用してページ自体にフォームを送信する-javascript、jquery、forms、url

GETリクエストを使用してページを自分自身に送信する - javascript、jquery、forms、url

私が必要なのは、ユーザーが検索ボックスにクエリを入力するときです。

    <form class="navbar-search pull-left">
<input type="text" autocomplete="off" autofocus id="query" class="search-query search_input" placeholder="Type your query...">
</form>

フォームを送信するためのボタンがありません。 ユーザーがEnterキーを押したときにフォームが送信されるようにしたい。 ユーザーがEnterキーを押すと、クエリがURLに表示されます。 送信前のURLと同様

http://example.come/

そして、ユーザーが自分のテキストを入力してEnterキーを押したとき。このようなURLにクエリを表示させたい

http://example.come/#query

全体をリロードすることなく。 これは、JavascriptまたはJqueryを使用するか、もっと簡単なものですか。

編集: これが私が試したものです window.location.hash = get_query;

 if (get_query.length != 0) {
$("#query").val(get_query);
$(".search_input").trigger("keyup"); // This is the Event which triggers
}

回答:

回答№1は1

Enterキーによる送信をサポートするために非表示のタイプsubmit要素の入力を追加します。

<form id="form1" class="navbar-search pull-left" action="">
<input type="text" autocomplete="off" autofocus id="query" class="search-query search_input" placeholder="Type your query...">
<input type="submit" style="display: none;">
</form>

フォームの送信時に、入力の値でハッシュを変更します。

$("#form1").submit(function() {
window.location.hash = "#" + $("#query").val();
return false;
});

また見てください 私の例 そしてその 関連するjsfiddle.