Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JavaScript] Warunki if.. else if
Forum PHP.pl > Forum > Przedszkole
lutador
Witam,

W zaleznosci od wybranych radioButtonow powinien wyswietlac sie odpowiedni napis. Mozemy wybrac tylko material bez definiowania zamknecia dlatego zrobilem 2 funkcje animMat i animTyl. Problemy sa dwa:
1. jezeli dolaczam funkcje animTyl to skrypt wogle nie dziala, bez niej dziala zmienianie materialu
2. document.getElementById('RadioRodzajMaterialu'); nie chce pobierac wartosci ze zmiennej

  1. wybor materialu:
  2. <input type="radio" name="RadioRodzajMaterialu" id="RadioRodzajMaterialu" value="Stalowa" onClick="animMat('stal'); checked>
  3. Stalowa
  4. <input type="radio" name="RadioRodzajMaterialu" id="RadioRodzajMaterialu" value="Aluminiowa" onClick="animMat('alu');>
  5. Aluminiowa
  6.  
  7.  
  8. wybor zamkniecia:
  9. <input type="radio" name="RadioRodzajScianyTylnej" id="RadioRodzajScianyTylnej" value="Klapa" onClick="animTyl('zsyp');" checked>
  10. Klapa z zsypem
  11. <input type="radio" name="RadioRodzajScianyTylnej" id="RadioRodzajScianyTylnej" value="Klapo-drzwi" onClick="animTyl('klapa');">
  12. Klapo-drzwi
  13.  
  14.  
  15. <!-- js -->
  16.  
  17. //var ObjRodzajMaterialu = document.getElementById('RadioRodzajMaterialu'); // nie chce pobierac zmiennych z formularza
  18. var ObjRodzajMaterialu = 'Stalowa'; //narazie podaje wartosc recznie
  19.  
  20.  
  21. function animMat(rodzaj){
  22. if (rodzaj == 'stal')
  23. document.getElementById( 'oDiv' ).innerHTML = "stal";
  24. else if (rodzaj == 'alu')
  25. document.getElementById( 'oDiv' ).innerHTML = "alu";
  26. }
  27.  
  28.  
  29. function animTyl(tyl){
  30.  
  31.  
  32. if (ObjRodzajMaterialu == 'Stalowa' && tyl =='zsyp'){
  33. document.getElementById( 'oDiv' ).innerHTML = "stal_zsyp";}
  34. else if ObjRodzajMaterialu == 'Stalowa' && tyl =='klapa'){
  35. document.getElementById( 'oDiv' ).innerHTML = "stal_klapa";}
  36. else if (ObjRodzajMaterialu == 'Aluminiowa' && tyl =='zsyp'){
  37. document.getElementById( 'oDiv' ).innerHTML = "alu_zsyp";}
  38. else if (ObjRodzajMaterialu == 'Aluminiowa' && tyl =='klapa'){
  39. document.getElementById( 'oDiv' ).innerHTML = "alu_klapa";}
  40. }
  41.  
  42.  
  43. <div id="oDiv">napis..</div>
paziek
zamiast
Kod
document.getElementById
użyj (na inputach)
Kod
document.getElementsByName

Do tego, getElementById oraz getElementsByName zwracają odpowiednio element oraz zbiór elementów. Aby pobrać wartość z elementów input, musisz użyć na elemencie (nie zbiorze) właściwości .value

W twoim przykładzie, powinieneś dodać do zdarzenia onclick() atrybut this
Kod
<input type="radio" name="RadioRodzajScianyTylnej" id="RadioRodzajScianyTylnej" value="Klapo-drzwi" onClick="animTyl(this.value,'klapa');">


function animTyl(ObjRodzajMaterialu,tyl){
   if(ObjRodzajMaterialu == 'Stalowa' && tyl =='zsyp') document.getElementById( 'oDiv' ).innerHTML = "stal_zsyp";
   else if(ObjRodzajMaterialu == 'Stalowa' && tyl =='klapa') document.getElementById( 'oDiv' ).innerHTML = "stal_klapa";
   else if(ObjRodzajMaterialu == 'Aluminiowa' && tyl =='zsyp') document.getElementById( 'oDiv' ).innerHTML = "alu_zsyp";
   else if(ObjRodzajMaterialu == 'Aluminiowa' && tyl =='klapa')  document.getElementById( 'oDiv' ).innerHTML = "alu_klapa";
}


a to
Kod
//var ObjRodzajMaterialu = document.getElementById('RadioRodzajMaterialu'); // nie chce pobierac zmiennych z formularza
var ObjRodzajMaterialu = 'Stalowa'; //narazie podaje wartosc recznie

w ogóle wywalić
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.