/ / Verwenden von GET Request Senden Sie das Formular an die Seite selbst - Javascript, Abfrage, Formulare, URL

Über GET Request senden Sie das Formular an die Seite selbst - Javascript, Abfrage, Formulare, URL

Was ich brauche, ist, wenn der Benutzer seine Anfrage in das Suchfeld eingibt.

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

Ich habe keinen Button, um das Formular abzusenden. Ich möchte, dass das Formular gesendet wird, wenn der Benutzer die Eingabetaste drückt. Und wenn der Benutzer die Eingabetaste drückt, soll die Abfrage in der URL angezeigt werden. Wie die URL vor der Einreichung

http://example.come/

Und wenn der Benutzer seinen Text eingibt und die Eingabetaste drückt. Ich möchte, dass die Abfrage in der URL wie folgt angezeigt wird

http://example.come/#query

Ohne das ganze nachzuladen. Ist dies möglich mit Javascript oder JQuery oder was auch immer einfacher ist.

Bearbeiten: Hier ist, was ich versucht habe window.location.hash = get_query;

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

Antworten:

1 für die Antwort № 1

Fügen Sie eine Eingabe mit dem Typ submit-Element hinzu, die ausgeblendet ist, um das Senden mit der Eingabetaste zu unterstützen:

<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>

Auf dem Formular Submit ändern Sie den Hash mit dem Wert der Eingabe:

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

Siehe auch mein Beispiel und das zugehörige jsfiddle.