Weblap Hová jutunk?

Űrlap választógombok.1106

Negyedik rész. Választógombok.

A kezdő form és záró form jelölőelemmel kijelölt objektumban, azaz területen, egy vagy több űrlapelem is elhelyezhető.

Ezek az űrlapelemek vagy adatbeviteli és adat megjelenítő elemek nem mások, mint az űrlap adatmezői.


Adatok kiválasztására alkalmas gombok.

Ha a felhasználónak több lehetőség is biztosítunk egy adott témakör kiválasztására, akkor a választógombot alkalmazzuk

A választógomb típusának neve, radio.
Ha van nyomógombos rádiónk, a rádió nyomógombjával választhatjuk ki, a nekünk megfelelő műsort. (Innen származik a gomb elnevezése: radio)
Mivel több választási lehetőség is van, ezért annyi választógombra van szükségünk, amennyi lehetőséget megadunk.
Ezért a választógombok egy adott csoporthoz (rádióhoz) tartoznak, melyből adódóan az azonosító nevük (name) egyforma, de mindegyik értéke (value) más (azaz más műsort fognak)
A választógombok közül, csak egyet választhat ki a felhasználó.

Példa:
Készítünk egy olyan választási lehetőséget, melynél a felhasználó három funkcióból választhat.

<form>
<input type="radio" name="gomb1" value="Kossuth" checked> Kossuth adó
<input type="radio" name="gomb1" value="Petofi"> Petőfi adó
<input type="radio" name="gomb1" value="Fehervar"> Fehérvár adó
</form>

A fenti programunk megjelenése weboldalon. (Válasszuk valamelyik gombot és kattintsunk rá)

Kossuth adó <!-- Ez a gomb kezdetkor bejelőlve, mert ide, checked van meghatározva. -->
Petőfi adó
Fehérvár adó

A checked jelentése: Amelyik input jelölőelemben elhelyezzük, az lesz, az alapértelmezés szerinti kijelölt gomb.
Egy adott csoporthoz tartozó gombok közül, csak egyet jelölhetünk ki alapértelmezettnek.
Alkalmazása, azaz alapértelmezett kijelölés nem kötelező, ez csak ajánlásjellegű a felhasználó felé.
Kijelöltük vagy sem, úgyis a felhasználó dönt, és választ egyet.

A value után beírt jellemző ( érték ), cgi vagy JavaScript programunk felé továbbítódik, és ezzel állapítható meg, hogy a felhasználó melyik lehetőséget választotta.
(Hová továbbítódik? Ez attól függ, az elküldő gombot hogyan állítottuk be.)


JavaScriptben, a radio objektum alábbi tulajdonságaira hivatkozhatunk:
- name: A választógombok közös neve, de az adott objektumé is.
- length: Az adott csoportban lévő választógombok száma
- checked: Meghatározza gombok jelölési állapotát, mely lehet true vagy false.

A választógombok JavaScriptből történő eléréséhez a rádio objektumot használjuk, de tömbként kezeljük.
A tömbben, nullával kezdődően kapnak sorszámot.

A gombok, a következő tulajdonsággal rendelkeznek:
- value: Az adott gombhoz rendelt érték
- defaultChecked: A gomb alapértelmezett állapotát jelzi.
- checked: A nyomógomb, azaz választógomb állapota



Tesztelhető példa.

Megjagyzés:
Ha oldalunkon több form (űrlap) is van, a JavaScript tömb formátumban tárolja form elemeket.
Első form (űrlap) a forms[0]; Második form (űrlap) a forms[1]; Harmadik form (űrlap) a forms[2]; és így tovább.



Példa egy adott gomb kiválasztására, és állapotának meghatározására (kiválasztva: true, nem kiválasztva: false)

<form name="rendeles" id="rendeles">
Válaszd ki a terméket:
<input type="radio" name="jelolt" value="Alma" checked> Alma
<input type="radio" name="jelolt" value="Tej"> Tej
<input type="radio" name="jelolt" value="Zsemle"> Zsemle
<input type="text" id="teszt" size="30">
<button onclick="rendelesek()"> Próbáld ki. </button>
</form>
<hr>
<p>Kiválasztott termék = <span id="info"></span></p>
<hr>


Megjelenés weboldalon:

Válaszd ki a terméket:
Alma
Tej
Zsemle

Melyik rádiógomb van kijelölve, JavaSript programunkban meg kell adnunk:
- A form objektum nevét. ( name )
- Az input elem nevét ( name ) és gombok tömbben elfoglalt sorszámát.( első=[0], második=[1], harmadik=[2] )
- A tulajdonsághoz tartozó értéket: checked ( Mely lehet true vagy false)

Ha checked értéke true lesz, akkor a gomb kijelölve. ( Az if feltétel teljesül.)
Ha checked értéke false lesz, akkor a gomb nincs kijelölve. ( Az if feltétel nem teljesül.)

Melyik rádiógomb van kijelölve =




<p>Melyik rádiógomb van kijelölve = <span id="rgaktiv"></span></p>
<button onClick="ellenorzes()";>Rádiógomb kijelölésének ellenőrzése. Katt ide!</button>

<script>
     function ellenorzes() {
          id=document.getElementById("rgaktiv");
              if(document.rendeles.jelolt[0].checked)  { id.innerHTML ="1. Gomb van kijelölve. (Alma)"}
              if(document.rendeles.jelolt[1].checked)  { id.innerHTML ="2. Gomb van kijelölve. (Tej)"}
              if(document.rendeles.jelolt[2].checked)  { id.innerHTML ="3. Gomb van kijelölve. (Zsemle)"}
        }
</script>






JavaSriptből

Html oldalon

Nem kötelező. De, ha a JavaScriptből valamelyik gombra a true értéket állítottuk be alapértelmezettként,
akkor az adott objektum többi gombját false értékre kell beállítani!

Ugyanis, a gombok átállítása, nem történik meg automatikusan.
Ezen átállítást a click( ) tagfüggvénnyel is megtehetjük.

Egy adott html oldalon, több választógomb csoportot is elhelyezhetünk.

Egy adott témakörhöz, tetszőleges választógomb darabszámot, azaz mennyiséget alkalmazhatunk, ha mindegyiknek más value jellemzőt írunk be.
Ilyen például a KRESSZ tesztlap is, ahol több kérdés is fel van adva, és általában három választási lehetőségünk van kiválasztani a megfelelő gombot.
Feltétele, hogy egy adott témakörökhöz tartozó választógombok neve (name="valami") egyforma legyen, de elkülönüljön a többi témakör gombjainak elnevezésétől.



2. Tesztelhető példa.

Megjagyzés:
Ha oldalunkon több form (űrlap) is van, a JavaScript tömb formátumban tárolja form elemeket.
Első form (űrlap) a forms[0]; Második form (űrlap) a forms[1]; Harmadik form (űrlap) a forms[2]; és így tovább.



Példa rádiógomb beazonosítására, és értékének meghatározására.

<form name="rend" id="rend">
Válaszd ki a terméket:
<input type="radio" name="jelzett" value="Rizs" checked> Rizs
<input type="radio" name="jelzett" value="Cukor"> Cukor
<input type="radio" name="jelzett" value="Liszt"> Liszt

<input type="text" id="teszt" size="30">

<input type="button" value="Próbáld ki. Katt ide!" onclick="rendelesek()">
</form>
<hr>
<p>Kiválasztott termék = <span id="info"></span></p>
<hr>


Megjelenés weboldalon:

Válaszd ki a terméket:
Rizs
Cukor
Liszt


Kiválasztott termék =



<script>
function rendelesek() {
  var radioTomb = document.forms[0];
  var txt = "";
  var i;
  for (i = 0; i < radioTomb.length; i++) {
  // radioTomb[i].checked értéke = true, if feltétel teljesül. Ha értéke false, if feltétel nem teljesül.
          if (radioTomb[i].checked) {
             txt = txt + radioTomb[i].value + " ";
            }
  }
  
  // Válasszunk, melyik kiíratást akarjuk alkalmazni.
  // 1. Kiíratás az id="teszt" azonosítóval rendelkező input ablakban.
        document.getElementById("teszt").value = "Kiválasztott termék = " + txt;
  
  // 2. Kiíratás az id="info" azonosítóval rendelkező tetszőleges jelölőelemben.
        id=document.getElementById("info");
        id.innerHTML = txt;
}
</script>


Vissza a lap elejére