Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][Java Script] Formularz
Forum PHP.pl > Forum > Przedszkole
deadiana
Witam!

Muszę zrobić formularz na stronę. Znajduje się on w zakładce "Zgłoszenie". Odnośnie niego mam 2 pytania:

1.Chciałabym, aby po wybraniu kursu z pierwszej listy wyboru, w drugiej (termin) pojawiły się odpowiednie daty (do każdego kursu są inne terminy). Jak mogłabym uzyskać taki efekt?

2.W zakładce "Terminy kursów" pod terminami każdego z kursów jest odnośnik "Weź udział" do strony z formularzem. Czy dałoby się sprawić, że po kliknięciu na taki odnośnik pod odpowiednim kursem jego nazwa automatycznie zaznaczy się w formularzu?

Z góry dziękuję za pomoc!
Roly
Musisz poczytać o obsłudze formularzy w JS. Polecam google.pl jest tam mnóstwo informacji na ten temat.
Trojan
AD.2

  1. <?php
  2. $$_GET['kurs'] = 'selected="selected"';
  3.  
  4. <select name="kurs[]" size="5" id="nazwa">
  5. <option value="Metoda_Dennisona" '.$md.'>Metoda Dennisona</option>
  6. <option value="Dotyk_dla_zdrowia" '.$ddz.'>Dotyk dla Zdrowia</option>
  7. <option value="Art-Kinezjologia" '.$ak.'>Art-Kinezjologia</option>
  8. <option value="EFT" '.$eft.'>Techniki emocjonalnej wolności</option>
  9. <option value="Tańce_w_kręgu" '.$twk.'>Tańce w kręgu</option>
  10. </select>
  11. ';
  12. ?>


jeżeli link na kocu będzie miał &kurs=md to zaznaczona będzie opcja 1
jeżeli link na kocu będzie miał &kurs=ddz to zaznaczona będzie opcja 2
jeżeli link na kocu będzie miał &kurs=ak to zaznaczona będzie opcja 3
jeżeli link na kocu będzie miał &kurs=eft to zaznaczona będzie opcja 4
jeżeli link na kocu będzie miał &kurs=twk to zaznaczona będzie opcja 5
deadiana
Dziękuję bardzo za pomoc, dokładnie o to mi chodziło! Co do pierwszego to wiem, że muszę zrobić tablice w JS. Tylko co dalej? Może rzeczywiście coś w goolge jeszcze znajdę...
Trojan
najpierw musisz nadać ID komórce w którą ma modyfikować JS aby mógł ją znaleźć.
  1.  <tr>
  2.    <td>termin: </td>
  3.    <td id="termin_td">
  4.    </td>
  5.  </tr>

Teraz trzeba napisać funkcje która będzie wpisywać do tej komórki odpowiednie opcje w zależności od zaznaczonego kursu
  1. <script type="text/javascript">
  2.            function jakiedaty(){
  3.                  zaznaczonaopcja = document.getElementById("nazwa").value
  4.  
  5.            switch (zaznaczonaopcja){
  6.                  case 'Metoda_Dennisona':
  7.                  document.getElementById('termin_td').innerHTML='<select name="termin[]" id="termin"><option>--wybierz--</option><option value="1">Metoda_Dennisona 1</option><option value="2">Metoda_Dennisona 2</option><option value="3">Metoda_Dennisona 3</option></select>';
  8.                  break
  9.  
  10.                  case 'Dotyk_dla_zdrowia':
  11.                  document.getElementById('termin_td').innerHTML='<select name="termin[]" id="termin"><option>--wybierz--</option><option value="1">Dotyk_dla_zdrowia 1</option><option value="2">Dotyk_dla_zdrowia 2</option><option value="3">Dotyk_dla_zdrowia 3</option></select>';
  12.                  break
  13.  
  14.                  case 'Art-Kinezjologia':
  15.                  document.getElementById('termin_td').innerHTML='<select name="termin[]" id="termin"><option>--wybierz--</option><option value="1">Art-Kinezjologia 1</option><option value="2">Art-Kinezjologia 2</option><option value="3">Art-Kinezjologia 3</option></select>';
  16.                  break
  17.  
  18.                  case 'EFT':
  19.                  document.getElementById('termin_td').innerHTML='<select name="termin[]" id="termin"><option>--wybierz--</option><option value="1">EFT 1</option><option value="2">EFT 2</option><option value="3">EFT 3</option></select>';
  20.                  break
  21.  
  22.                  case 'Tańce_w_kręgu':
  23.                  document.getElementById('termin_td').innerHTML='<select name="termin[]" id="termin"><option>--wybierz--</option><option value="1">Tańce_w_kręgu 1</option><option value="2">Tańce_w_kręgu 2</option><option value="3">Tańce_w_kręgu 3</option></select>';
  24.                  break
  25.  
  26.                  default:
  27.                  document.getElementById('termin_td').innerHTML='Error';
  28.                  }
  29.            }
  30.            </script>

funkcja sprawdza jaka opcja jest zaznaczona w <select> 'document.getElementById("nazwa").value' następnie na podstawie tej informacji wpisuje do komórki odpowiednią listę wyboru: document.getElementById('termin_td').innerHTML='nowa lista wyboru'

Teraz tylko trzeba odpalać funkcję gdy ktoś zmienia kurs oraz na początku gdy strona jest wczytywana. W tym celu znacznik <body> zmieniamy na:

<body onload="jakiedaty();"> - wywołanie funkcji po wczytaniu strony

oraz listę wyboru na:

<select name="kurs[]" size="5" id="nazwa" onchange="jakiedaty();"> - wywołanie funkcji przy zmianie opcji kursu

Mam nadzieje ze pomogłem i liczę na to ze będziesz w stanie napisać już coś podobnego samodzielnie (lub z pomocą google winksmiley.jpg )
deadiana
Dziękuję, bardzo mi pomogłeś. Samodzielnie chyba jeszcze nie dam rady takich rzeczy wymyślać, ale z googlem kto wie winksmiley.jpg Dzięki raz jeszcze, pozdrawiam!
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.