![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 25 Pomógł: 0 Dołączył: 29.01.2010 Ostrzeżenie: (0%) ![]() ![]() |
Poradźcie mi proszę w którym momencie popełniłem błąd, chcę aby po zmianie selecta uaktualniła się funkcja show() zawierająca instrukcję switch - w zależności od wyboru z listy rozwijalnej, różne komunikaty.
Kod <html>
<head> </head> <body> <form action="ship.php" method="post" onChange="show()"> <select name="country"> <option value="NN">--Wybierz--</option> <option value="AT">Austria</option> <option value="BE">Belgia</option> <option value="BG">Bułgaria</option> <option value="CH">Szwajcaria</option> <option value="CZ">Czechy</option> <option value="DE">Niemcy</option> <option value="DK">Dania</option> <option value="EE">Estonia</option> <option value="ES">Hiszpania</option> <option value="FI">Finlandia</option> <option value="FR">Francja</option> <option value="GB">Anglia</option> <option value="GB0">Szkocja</option> <option value="GB1">Walia</option> <option value="GB2">Irlandia Północna</option> <option value="GR">Grecja</option> <option value="IT">Włochy</option> <option value="LI">Liechtenstein</option> <option value="LT">Litwa</option> <option value="LU">Luksemburg</option> <option value="LV">Łotwa</option> <option value="MC">Monako</option> <option value="NL">Holandia</option> <option value="NO">Norwegia</option> <option value="PT">Portugalia</option> <option value="RO">Rumunia</option> <option value="SE">Szwecja</option> <option value="SI">Słowenia</option> <option value="SK">Słowacja</option> </select> <input type="submit" value="Shipping cost"> </form> <script type="text/javascript"> function show() { d = document.getElementsByName(country); document.write(d); switch (d) { case CZ: document.write("Wysyłka do Czech"); break; case SK: document.write("Wysyłka do Słowacji"); break; case DE: document.write("Wysyłka do Niemiec"); break; case AT: document.write("Wysyłka do Austrii"); break; case BE: document.write("Wysyłka do Belgii"); break; case BG: document.write("Wysyłka do Bułgarii"); break; case DK: document.write("Wysyłka do Danii"); break; case EE: document.write("Wysyłka do Estonii"); break; case FR: document.write("Wysyłka do Francji"); break; case NL: document.write("Wysyłka do Holandii"); break; case LT: document.write("Wysyłka do Litwy"); break; case LU: document.write("Wysyłka do Luksemburga"); break; case LV: document.write("Wysyłka do Łotwy"); break; case MC: document.write("Wysyłka do Monako"); break; case RO: document.write("Wysyłka do Rumunii"); break; case GB: document.write("Wysyłka do Anglii"); break; case FI: document.write("Wysyłka do Finlandii"); break; case ES: document.write("Wysyłka do Hiszpanii"); break; case SI: document.write("Wysyłka do Słowenii"); break; case GB0: document.write("Wysyłka do Szkocji"); break; case SE: document.write("Wysyłka do Szwecji"); break; case GB1: document.write("Wysyłka do Walii"); break; case IT: document.write("Wysyłka do Włoch"); break; case GB2: document.write("Wysyłka do Irlandii Północnej"); break; case PT: document.write("Wysyłka do Portugalii"); break; case GR: document.write("Wysyłka do Grecji"); break; case NO: document.write("Wysyłka do Norwegii"); break; case LI: document.write("Wysyłka do Liechtensteinu"); break; case CH: document.write("Wysyłka do Szwajcarii"); break; } } </script> </body> </html> Ten post edytował kra1986 6.04.2010, 15:29:06 |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 2 178 Pomógł: 596 Dołączył: 25.09.2009 Skąd: Piwniczna-Zdrój Ostrzeżenie: (0%) ![]() ![]() |
Zdarzenie onchange powinno być selectowi przypisane.
|
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 428 Pomógł: 128 Dołączył: 17.06.2007 Ostrzeżenie: (0%) ![]() ![]() |
Nie masz nigdzie zmiennej country więc elementy (liczba mnoga!) nie zostaną pobrane. Dlaczego elementy? Czytaj document.getElementsByName().
Do switch przekazujesz obiekt kolekcji html (gdyby był prawidłowo pobrany) a nie wartość wybranej opcji.
Nie masz nigdzie zmiennych podanych w case-ach (to nie są ciągi znaków!). Te wszystkie błędy składają się na to, że skrypt nie działa. Rady: 1. Firefox + Firebug - żebyś widział błędy i wyciągał z nich wnioski. 2. Google i "javascript select" (np. to). 3. Google i "javascript strings" (np. to) - to odnośnie tego czym się różni ciąg znaków od zmiennej zawierającej go. 4. document.write() w tym przypadku prawdopodobnie nie zachowa się tak jak tego oczekiwałeś. Możesz poszukać informacji o "javascript innerHTML". Ogólnie kod jest raczej bez ładu i składu. |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 1 429 Pomógł: 195 Dołączył: 6.10.2008 Skąd: Kraków/Tomaszów Lubelski Ostrzeżenie: (0%) ![]() ![]() |
///wyprzedzony ;]
Poza tym pamiętaj o cudzysłowach.
Ten post edytował MateuszScirka 6.04.2010, 16:54:40 -------------------- O! Zimniok :P
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 19.08.2025 - 20:37 |