Potrebujem, keď používateľ zadá svoj dopyt do vyhľadávacieho poľa.
<form class="navbar-search pull-left">
<input type="text" autocomplete="off" autofocus id="query" class="search-query search_input" placeholder="Type your query...">
</form>
Nemám tlačidlo na odoslanie formulára.Chcem, aby sa formulár odoslal, keď používateľ stlačí kláves Enter. A keď používateľ stlačí kláves Enter, chcem, aby sa dopyt zobrazil v adrese URL. Pred odoslaním sa mu páči adresa URL
http://example.come/
A keď používateľ zadá svoj text a stlačí kláves Enter. Chcem, aby sa dopyt zobrazil na URL takto
http://example.come/#query
Bez opätovného načítania celku. Je to možná pomocou Javascript alebo Jquery alebo čo je jednoduchšie?
Upraviť: Tu je to, čo som vyskúšal window.location.hash = get_query;
if (get_query.length != 0) {
$("#query").val(get_query);
$(".search_input").trigger("keyup"); // This is the Event which triggers
}
odpovede:
1 pre odpoveď č. 1Pridajte vstup s prvkom odoslania typu, ktorý je skrytý, aby podporoval odosielanie pomocou klávesu Enter:
<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>
Pri odoslaní formulára zmeňte hodnotu hash s hodnotou vstupu:
$("#form1").submit(function() {
window.location.hash = "#" + $("#query").val();
return false;
});
Pozri tiež môj príklad a združený jsfiddle.