Späť Domov Ďalej

Domov
Výpisy
Premenné
Dialógové okná
Tlačidlá
.Podmienky a vetvenie
Cyklus
Funkcie
Objekty
Objekt Array
Objekty tvorené užívateľom
Objekt Date
Objekt Math
Formuláre
Objekty formulárov
Ďalšie objekty formulára
Obrázky
Obrázky-2
Stavový riadok
Popis v stavovom riadku
Animovaný text
Hodiny
Skladačka
Linky

9.2. Ďalšie objekty formulára

Objekt Radio - prepínač je vytvorený značkou HTML <input type="radio" name="meno" value="hodnota">

Vlastnosti a metódy podobné ako checkbox.

 

 

 

Príklad: Vytvorte formulár s prepínačmi na vyhodnotenie Vašej stránky
Táto stránka je

 výborná

priemerná

slabá

Zdrojový kód:

<html>

<head>

<script language="javascript">

function prepocet(f) {

var hod=-1;

for (i=0;i<f.hodnota.length;i++){

if (f.hodnota[i].checked){

hod=i

}

}

if (hod==-1) {

alert("treba vybrať hodnotu")

return false

}

 

if (f.hodnota[hod].value=="1")

alert("správne")

else

alert("nerozhodol si správne")

}

</script>

<body>

Táto stránka je

<form name="form4">

<p>&nbsp;<input type="radio" value="1" name="hodnota" checked>výborná</p>

<p><input type="radio" name="hodnota" value="2">priemerná</p>

<p><input type="radio" name="hodnota" value="3">slabá</p>

<p><input type="button" value="prepočet" name="B1" onclick="prepocet(this.form)"></p>

</form>

<body>

<html>

  • Vytvoríme funkciu prepocet(f), ktorá bude zisťovať vybranú hodnotu
  • Premennej hod priradíme hodnotu -1 - táto bude zisťovať, ktorý prepínač bol vybraný. V prípade, že nebol vybraný žiaden, zostáva hodnota -1.
  • V cykle od 0 po počet radio-buttonov budeme sledovať, ktorý bol vybraný - meno prepínačov je "hodnota", konečná hodnota cyklu je hodnota.length
  • Ak bola hodnota vybraná, do premennej hod vložíme jej poradie - i
  • Ak hod zostala -1, dáme správu o potrebe vybrať hodnotu, v opačnom prípade vraciame hodnotu false
  • Ak bol vybratý prepínač s hodnotou (value) 1 odpoveď bude -"správne", inak "nerozhodol si správne"
  • V hlavnej stránke máme názov formulára form4
  • Vložíme doň 3 prepínače s tým istým menom "hodnota"
  • Možnosti postupne majú hodnoty - value 1 (pri tejto necháme políčko začiarknuté - checked), 2 a 3
  • Ďalej vložíme tlačidlo s aktivovaním po stlačení vyvolá v hlavičke definovanú funkciu na zistenie vybraného prepínača  prepocet(this.form)

 

Objekt Select vytvára zoznam, z ktorého je možno vybrať.

Je tvorený značkou HTML <type="select" name = "meno"> ... </select>. Jednotlivé položky sú uzavreté značkou <option value = "hodnota"> ... </option>

Príklad: Napíšte jednoduchý formulár s výberom možností pomocou rozbaľovacieho zoznamu.

Táto stránka je:

  • V takto zvolenom zozname stačí vo vyhodnotení použiť meno objektu select - v našom prípade vyber
  • Vytvoríme funkciu prepocet2(f), kde parameter f bude nahradený formulárom volaním this
  • Vo funkcii voláme hodnotu objektu f.vyber.value (formulár.názov_objektu_select. hodnota)
  • V hlavnej stránke vytvoríme jednotlivé položky (option) s hodnotami(value), pričom prvú - vyber si nastavíme ako prednastavenú - selected
  • Pridali sme tlačidlá Submit - odoslať a Reset - vrátiť výber
  • V zadaní formulára sme zvolili udalosť onsubmit="return prepocet2(this)", čo spôsobí, že pri pokuse odoslať formulár, vyvolá sa funkcia prepocet2

<html>

<head>

<script language=javascript">

function prepocet2(f){

if (f.vyber.value==1)

alert("Tak sa mi to páči")

else alert("Nedobrá voľba")

}

</script>

</head>

<body>

<form name="mojvyber" onsubmit="return prepocet2(this)">

<p>Táto stránka je:</p>

<p><select size="1" name="vyber">

<option selected>Vyber si</option>

<option value="1">výborná</option>

<option value="2">priemerná</option>

<option value="3">slabá</option>

</select><input type="submit" value="odoslať"> <input type="reset" value="späť"></p>

</body>

</html>


Úlohy:

Máme internetovú predajňu áut.

  1. Vytvorte formulár s prepínačmi na výber farby auta. Správu o výbere zapíšte do jednoriadkového textového poľa
  2. Vytvorte formulár s výberom mesta prebratia tovaru.

Riešenie


späť


Posledná aktualizácia: 12 máj, 2003

Webmaster: Mgr.Anna Peťovská