Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][HTML][JavaScript]Problem z listą rozwijalną
Forum PHP.pl > Forum > Przedszkole
TrafficManZZPL
Witam, smile.gif

(krótko i na temat), tak jak w temacie.

Posiadam taki kod:
  1. <td width="300">Regione:&nbsp;&nbsp;</td>
  2. <td>
  3. <select name="contact_province">
  4. <optgroup label="name_province">
  5. <option>select_province</option>
  6. <option>select_province</option>
  7. ...
  8. </td>
  9. </tr>


Zatem moje pytanie brzmi:
Jak zrobić, aby (w tym wypadku) po wybraniu "select_province", w komórce obok, wyświetliło opis do Niej?.
Przykład:
Wybieram z listy np. (tytuł grupy) Pomorskie, potem Gdynia i po wybraniu, obok (w ramce np), wyświetla się opis: "Wybrałeś miasto Gdynia. Pamiętaj, że ...(coś tam).". Nie chodzi o "chmurkę", ale o tekst wyświetlony obok.

Po 1: Cały kod tego "formularza" jest objęty php. -> Pełny kod strony tutaj
Po 2: Po wysłaniu formularza, zapisywany jest do pliku txt.

Czy do tego potrzebna(?) jest baza danych, czy możliwe jest np. wykonanie w plikach tekstowych, albo wraz z kodem strony?

Podaję stronę, gdzie znajduje się pełny formularz.

P.S. Przeszukałem ze 30 stron, plus strony w google i nie znalazłem satysfakcjonującej dla mnie odpowiedzi.


Proszę o pomoc.
Dziękuję serdecznie za pomoc.

Pozdrawiam,
Damian.
luniak
radzę zapoznać się z JavaScript a w szczególności z funkcją

onChange()

http://www.w3schools.com/jsref/jsref_onchange.asp
TrafficManZZPL
A może ktoś podałby przykład wykonania tejże funkcji w moim przykładzie?
luniak
Tu zmnień tak:

  1. <select name="contact_province" onchange="opis(this.value);">
  2. <optgroup label="name_province">
  3. <option>prowincja1</option>
  4. <option>prowincja2</option>
  5. ...
  6. <div id="opis" width="100" height="100"></div>


a w head daj to:

  1. <script type="text/javascript">
  2. function opis(wartosc)
  3. {
  4. if(wartosc == 'prowincja1')
  5. {
  6. document.getElementById(opis).innerHTML = "Opis pierwszej";
  7. }
  8. else if(wartosc == 'prowincja2')
  9. {
  10. document.getElementById(opis).innerHTML = "Opis dugiej";
  11. }
  12. else
  13. {
  14. document.getElementById(opis).innerHTML = "";
  15. }
  16. }


pisane na szybko więc nie sprawdziłem ale powinno działać
TrafficManZZPL
Dzięki.

wacko.gif A jeśli wprowadzę więcej kodu?.

Podpowiem: Robię listę wyboru dla kraju włoskiego, więc jak niektórzy się orientują, jest tam 20 województw, i każde województwo posiada tak jakby prowincję. Jedno województwo ma tam jedną, a inne aż 10 prowincji.
TrafficManZZPL
Cytat(erix @ 25.01.2009, 15:10:27 ) *


Wybacz, ale widziałeś jak wygląda strona i o co proszę?
Nie chodzi mi o dwa pola wyboru, ale jedno pole, gdzie po wskazaniu elementu, obok pojawi się informacja do niego.
erix
No to w podobny sposób; zamieniasz tylko kod dodawania pól na inną treść. winksmiley.jpg

Cytat
A jeśli wprowadzę więcej kodu?.

To w czym problem? Ewentualnie, aby to czytelniej wyglądało, to używasz switcha.
TrafficManZZPL
Cytat(erix @ 25.01.2009, 15:20:33 ) *
To w czym problem? Ewentualnie, aby to czytelniej wyglądało, to używasz switcha.


No tak, można pewnie i tak.
Tyle, że ... sciana.gif , jestem zielony w te klocki i jeśli można prosić o Przykład wykonania odnosząc się do mojego problemu, byłbym wdzięczny.


A jaki jest łatwiejszy i ma lepszy wygląd, sposób, aby wykonać moje zapytanie?
erix
A klikałeś na linka?

Cytat
jestem zielony w te klocki i jeśli można prosić o Przykład wykonania odnosząc się do mojego problemu

Przykłady już dostałeś. ~luniak podał; switch, to jest inna metoda.
TrafficManZZPL
Nie klikałem, wiesz... tongue.gif

Aha, rozumiem.
Dziękuję za pomoc wszystkim.


No to teraz sprawa wyglądu.
A jeśli chodzi o wygląd takiego pola, to gdzie to skonfigurować, czy może po prostu w moim wypadku użyć jakoś(?) np. obramowania?
erix
Cytat
A jeśli chodzi o wygląd takiego pola, to gdzie to skonfigurować, czy może po prostu w moim wypadku użyć jakoś(?) np. obramowania?

CSS. Ale elementy formularza są konfigurowalne w bardzo ograniczonym stopniu.
TrafficManZZPL
Więc chyba powinno starczyć na wstawienie np. ramki i koloru tekstu?

Ale wtedy jakby wyglądał taki styl?

Np. chciałbym w takiej ramce ustawić:
"Ważne. Wybrałeś opcję X,<br> pamiętaj, że coś tam."
erix
Cytat
Więc chyba powinno starczyć na wstawienie np. ramki i koloru tekstu?

To bardzo zależy od przeglądarki; niektóre nawet i na to nie pozwolą. Ale ogólnie, to np. border: 1px solid #CCC; color: #000. Mam na myśli, oczywiście, listę <select />, dla innych elementów jest już większe pole manewru.

Cytat
Np. chciałbym w takiej ramce ustawić:
"Ważne. Wybrałeś opcję X,<br> pamiętaj, że coś tam."

Ciut nie czaję? Wtedy to zwykły CSS.
TrafficManZZPL
Cytat
Mam na myśli, oczywiście, listę <select />, dla innych elementów jest już większe pole manewru.

Hę?. Jak select, przecież chodzi mi, by drugiej kolumnie się wyświetlała wiadomość.
Chyba wtedy kod wyglądałby tak:
  1. /../
  2. #info {...}
  3. /../
  4. <tr>
  5. <td width="300">Regione:&nbsp;&nbsp;</td>
  6. <td>
  7. <select name="contact_province">
  8. <optgroup label="name_province">
  9. <option>select_province1</option>
  10. <option>select_province2</option>
  11. ...
  12. </td>


A w drugiej kolumnie, już PO WYBRANIU ELEMENTU Z LISTY, na przykład:
  1. <td>
  2. <div id="info">
  3. <b>Ważne.</b>
  4. <br>
  5. Wybrałeś opcję <font color="red"><b>X</b></font><br>pamiętaj, że coś tam.
  6. </div>
  7. </td>
  8. </tr>
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.