Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Zmiana URL-a przed wyslaniem formularza
miseczka
post
Post #1





Grupa: Zarejestrowani
Postów: 8
Pomógł: 0
Dołączył: 16.12.2011

Ostrzeżenie: (0%)
-----


Witam,
Na wstępie przyznam się, że w ogóle nie znam javascript, a muszę zrobić pewną rzecz. Mianowicie mam taki formularz:

  1. <form action="" method="get">
  2. <input type="hidden" name="menu" value="baty" />
  3. <input type="text" name="suma" maxlength="15" value="1000" />
  4. <select name="okres">
  5. <option value="1_dzien">1 dzień</option>
  6. <option value="1_tydzien">1 tydzień</option>
  7. <option value="2_tygodnie">2 tygodnie</option>
  8. <option value="1_miesiac">1 miesiąc</option>
  9. <option value="2_miesiace">2 miesiące</option>
  10. </select>
  11. <input type="submit" name="szukaj" value="Szukaj" />
  12. </form>

I gdy wyślę ten formularz URL wygląda tak:
Kod
http://localhost/test/index.php?menu=baty&suma=1000&okres=2_miesiace&szukaj=Szukaj

A musi wyglądać tak:
Kod
http://localhost/test/baty-1000-2_miesiace-Szukaj


Mógłby ktoś naprowadzić mnie jak coś takiego wykonać?

Ten post edytował miseczka 6.03.2012, 22:56:43
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Sephirus
post
Post #2





Grupa: Zarejestrowani
Postów: 1 527
Pomógł: 438
Dołączył: 28.06.2011
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


Żeby uzyskać coś takiego musisz w ogóle zastąpić wysyłanie formularza przekierowaniem GET.

Najprościej (idea) to ustawić formularzowi zdarzenie onsubmit(). Dajemy formularzowi ID:

  1. <form action="" method="get" id="form1">


Następnie w JS pobieramy wszystkie pola i tworzymy adres url:

[JAVASCRIPT] pobierz, plaintext
  1. document.getElementById('form1').onSubmit = function () {
  2.  
  3. var urlParts = new Array();
  4. urlParts.push(this.menu.value); // dodajemy po kolei dane formularza
  5. urlParts.push(this.suma.value);
  6. urlParts.push(this.okres.value);
  7. urlParts.push(this.szukaj.value);
  8.  
  9. window.location.href = this.action + urlParts.join('-'); // tu łączymy nasze wartości w formę "a-b-c-d-e" itd... ;)
  10. return false;
  11. }
[JAVASCRIPT] pobierz, plaintext


Ten post edytował Sephirus 7.03.2012, 15:30:21
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 4.10.2025 - 13:52