<< | JavaScript-cvičení? | >>
Zadání
- vytvořte html stránku s formuláře pro konfiguraci hlavních komponent PC a výpočet ceny sestavy podle předlohy
- k formuláři připojte skript aktivovaný změnou volby rozbalovacích seznamů - událost onchange
- pomocí rozbalovacích seznamů nastavte tyto možnosti
- CPU - AMD 2000,- Intel 3000,-
- RAM - 1GB 400,- 2GB 800,- 3GB 1200,- 4GB 1600,-
- HDD - 500GB 1200,- 750GB 1600,- 1000GB 2200,-
- LCD - 22" 3000,- 24" 5000,- 26" 8000,-
- OS - Linux 200,- Windows 2000,-
Příklad formuláře
Ukázka kódu formuláře
<body>
<h1>Konfigurace PC</h1>
<form>
<fieldset>
<legend>Konfigurace sestavy</legend>
<label>Typ procesoru</label><br>
<select>
<option>AMD</option>
<option>INTEL</option>
</select>
<input>
</fieldset>
<fieldset>
<legend>Cena sestavy</legend>
<label>Celkem</label><br>
<input>
</fieldset>
</form>
</body>
Ukázka JS funkce
function secti() {
var cpu = document.konfig.cpu.value;
document.konfig.cena_cpu.value = cpu;
var ram = document.konfig.ram.value;
document.konfig.cena_ram.value = ram;
var celkem = parseInt(cpu) + parseInt(ram);
document.konfig.vysledek.value = celkem;
<!DOCTYPE html>
<html lang="cs">
<head>
<meta charset="UTF-8">
<title>Konfigurace PC</title>
<script type="text/javascript">
//načtení skriptu jako anonymní funkce až po načtení stránky
window.onload = function() {
var ram = document.getElementById("ram");
var cpu = document.getElementById("cpu");
function secti(){
var pc = parseInt(cpu.value) + parseInt(ram.value);
document.getElementById("cena_cpu").value = cpu.value;
document.getElementById("cena_ram").value = ram.value;
document.getElementById("vysledek").value = pc;
}
secti(); //spuštění funkce secti() s výchozími hodnotami po načtení stránky
cpu.onchange = secti; //aktivace funkce secti pro změnu hodnoty v seznamu
ram.onchange = secti; //přiřazení návratové hodnoty funkce - bez závorek
}
</script>
</head>
<body>
<h1>Konfigurace PC</h1>
<form style="width: 250px">
<fieldset>
<legend>Konfigurace sestavy</legend>
<label>Typ procesoru</label><br>
<select id="cpu" style="width: 100px">
<option value="2000">AMD</option>
<option value="3000">INTEL</option>
</select>
<input type="text" id="cena_cpu" size="10" /><br><br>
<label>Kapacita RAM</label><br>
<select id="ram" style="width: 100px">
<option value="800">4 GB</option>
<option value="1500">8 GB</option>
</select>
<input type="text" id="cena_ram" size="10" />
</fieldset>
<fieldset>
<legend>Cena sestavy</legend>
<label>Celkem</label><br>
<input type="text" id="vysledek" />
</fieldset>
</form>
</body>
</html>

