Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [inne][HTML]checkbox - dwa zdarzenia onClic - problem
kotek2185
post
Post #1





Grupa: Zarejestrowani
Postów: 42
Pomógł: 0
Dołączył: 7.12.2011

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


Witam wszystkich, mam taki o to form:

  1. ZEC<input type="checkbox" name="zec" id="zec" value="1" onclick="this.form.elements['tar'].disabled = !this.checked, this.form.elements['wys'].disabled = this.form.elements['co'].disabled = this.form.elements['cw'].disabled = this.checked"><br><br>
  2.  
  3. Taryfa<select onchange="this.form.elements['wys'].disabled = this.form.elements['co'].disabled = this.form.elements['cw'].disabled = (this.value=='0'), this.form.elements['wys'].disabled=!(this.value=='1'),
  4. this.form.elements['co'].disabled = this.form.elements['cw'].disabled = !(this.value=='2')" name="tar" value="tar" disabled = "disabled">
  5.  
  6. <option value="0" selected = "selected">Wybierz</option>
  7. <option value="1">Taryfa A</option>
  8. <option value="2">Taryfa B</option>
  9.  
  10. </select>
  11. <br><br>
  12.  
  13.  
  14. WYS <input type="text" name="wys" disabled = "disabled"><br><br>
  15.  
  16. CO <input type="text" name="co" disabled = "disabled"><br><br>
  17.  
  18. CW <input type="text" name="cw" disabled = "disabled"><br><br>
  19.  
  20. </form>


i pytanie jak obsłużyć checkbox by gdy zaznaczony odkrywał tylko select, a gdy odznaczony to zakrywał i select i inputy (które odkrywaja się zależnie od optiona w select)?

bardzo proszę o jakieś sugestie?

Ten post edytował kotek2185 17.05.2012, 09:52:55
Go to the top of the page
+Quote Post
bostaf
post
Post #2





Grupa: Zarejestrowani
Postów: 374
Pomógł: 79
Dołączył: 6.04.2010
Skąd: Ostrów Wielkopolski

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


Ja bym po prostu zresetował cały formularz w momencie odhaczenia checkboxa. Czyli w Twoim checkboxie "zec", daj taki kod java script:

[JAVASCRIPT] pobierz, plaintext
  1. onclick="this.form.elements['tar'].disabled = !this.checked; if(!this.checked) this.form.reset();"
[JAVASCRIPT] pobierz, plaintext
Go to the top of the page
+Quote Post
kotek2185
post
Post #3





Grupa: Zarejestrowani
Postów: 42
Pomógł: 0
Dołączył: 7.12.2011

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


a co jeżeli mam w tym formie jeszcze kilka pól, których nie chce resetować?
Go to the top of the page
+Quote Post
bostaf
post
Post #4





Grupa: Zarejestrowani
Postów: 374
Pomógł: 79
Dołączył: 6.04.2010
Skąd: Ostrów Wielkopolski

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


Cytat(kotek2185 @ 17.05.2012, 11:37:35 ) *
a co jeżeli mam w tym formie jeszcze kilka pól, których nie chce resetować?

No to trzeba dla każdego zdefiniować zawartość i dostępność i umieścić wszystko w klauzuli if:
[JAVASCRIPT] pobierz, plaintext
  1. if(!this.checked) {
  2. this.form.elements['wys'].value ='';
  3. this.form.elements['wys'].disabled = true;
  4. this.form.elements['cw'].disabled = true;
  5. }
[JAVASCRIPT] pobierz, plaintext

No i używaj średników a nie przecinków do separowania bloków kodu.
No i jeśli tyle rzeczy dzieje się przy jednej akcji, to lepiej zdefiniować funkcję i się do niej odwoływać:
[JAVASCRIPT] pobierz, plaintext
  1. function klik_zec() {
  2. this.form.elements['tar'].disabled = !this.checked;
  3. if(!this.checked) {
  4. this.form.elements['wys'].value ='';
  5. this.form.elements['wys'].disabled = true;
  6. this.form.elements['cw'].disabled = true;
  7. }
  8. }
[JAVASCRIPT] pobierz, plaintext

  1. ZEC<input type="checkbox" name="zec" id="zec" value="1" onclick="klik_zec()">
Go to the top of the page
+Quote Post
kotek2185
post
Post #5





Grupa: Zarejestrowani
Postów: 42
Pomógł: 0
Dołączył: 7.12.2011

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


dzieki wielkie:) pomogło pozdrawiam

temat do zamkniecia
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 21.08.2025 - 10:41