Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JavaScript][PHP] Form i get
Forum PHP.pl > Forum > Przedszkole
bahh
Witam, mam formularz:

  1. <form id="main-search" accept-charset="utf-8" method="get" action="http://.../search" class="szukaj">


wpisujac cokolwiek w wyszukiwarke przerzuca nas na strone i ajax pobiera dane z formularza i dynamicznie wyszukuje wyswietlajac wyniki - takie jest zalozenie teoretyczne.

po wpisaniu jakiegos hasla formularz przechodzi na adres:

http://.../search?query=jakieshaslo

a chcialbym by przeszlo na adres

http://.../search?query=jakieshaslo#query=jakieshaslo

jakieshaslo to zwrot wpisany w formularz i przekazany getem

wie ktos jak tak zrobic?
com
No najprościej poprzez modyfikacje url?
http://webhosting.pl/Jak.zmieniac.elementy....w.JavaScripcie
bahh
no dobrze, w jaki sposob wygladaloby uzycie location.search w tym przykladzie? (jestem zielony w js)
com
Temat: JavaScriptPHP Form i get

Kontynuuj stary wątek

weź sobie location.search, odetnij pierwszy znak by pozbyć sie ? przypisz do zmiennej i wykonaj window.location.hash='#' + newlocationsearch i gotowe wink.gif
bahh
czyli mialbym zrobic to tak:

  1. <input type="button" onclick="window.location.hash='#' +window.location.search.substr(1)" />


poprawnie?

znalazlem taka funkcje
  1. search.submit(function() {
  2. window.location = url.site('search#query='+$('input[name=query]', search).val()+'&type=all');
  3. return false;
  4. });


jak ja podlaczyc pod to:

  1. <form id="main-search" class="szukaj" action="xxxxx.pl/search" method="get" accept-charset="utf-8">
  2. <input class="inputszukaj" type="text" value="Wpisz szukaną frazę..." onblur="if(this.value=='') this.value='Wpisz szukaną frazę...';" onfocus="if(this.value=='Wpisz szukaną frazę...') this.value='';" aria-haspopup="true" aria-autocomplete="list" role="textbox" autocomplete="off" name="query">
  3. <input class="submitszukaj" type="submit" onclick="search1()" value="">
  4. </form>


jak przez firebuga dodaje kod do strony to smiga, gdy tak samo go wgrywam ale w plik zrodlowy to nie chce dzialac, nie wiem czemu sie tak dzieje
YourFrog
Odpowiem tak jak umiem w JS czyli z JQuery tongue.gif

  1. $(document).ready(function(){
  2. $('form#main-search').submit(function(){
  3. var attr = $(this).attr("action");
  4. attr += encodeURIComponent($('input.query').val());
  5.  
  6. $(this).attr("action", + "#query=" + attr );
  7. return true;
  8. });
  9. });


Jeżeli w formularzu będziesz miał inputa z identyfikatorem query, a sam formularz będzie miał id main-search to ci zmodyfikuje w momencie wysyłania go adres na który ślesz. Co prawda nie sprawdzałem i może być literówka gdzieś ale nie sądze. W razi potrzeby łap linka do dokumentacji JQuery JQuery - submit/.

Aha nigdy nie używałem funkcji encodeURIComponent ale jeżeli wierzyć dokumentacji na mozilla.org to do tego właśnie ona służy.
bahh
YourFrog - przekierowuje wtedy na adres

nanhttp://www.xxxxxxxxxx.pl/searchundefined?query=ham

jest nanhttp:// czyli zły protokół no i nie przekierowuje tam gdzie trzeba
YourFrog
Ja gafę strzeliłem tongue.gif Leci rehablilitacja

  1. <script src="//ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
  2. $(document).ready(function(){
  3. $('form#main-search').submit(function(){
  4. var attr = $(this).attr("action");
  5. attr += "#query=" + encodeURI($('input.query').val());
  6.  
  7. $(this).attr("action", attr );
  8. return true;
  9. });
  10. });
  11. </script>
  12. </head>
  13. <form action="http://onet.pl/" id="main-search" method="post">
  14. <input name="x" class="query"/>
  15. <button type="submit">Send</button>
  16. </form>
  17. </body>
  18. </html>
bahh
śmiga, aczkolwiek jquery 2.1.1 sprawia, że ajax mi nie działa, da się to samo uzyskać przy jquery 1.8.7?
Turson
Sprawdź
bahh
sprawdziłem, nie działa
Turson
Odpal konsolę w przeglądarce i monituruj błędy
bahh
Udało się naprawić, po prostu ustawiłem, że nie wyświetli jquerego 2.1.1 po przekierowaniu i śmiga, dzięki wielkie YourFrog za pomoc
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.