<script type="text/javascript">
// Luodaan virheviesti siltä varalta ettei
// laskutoimitusta voida suorittaa:
var Virhesanoma = "Komputointi ei onnistu näillä tiedoilla.\n\n" +
"(Huom. desimaalierottimena toimii piste.)";
// Luodaan funktio pyöristämään
// tulokset kahteen desimaaliin:
function Pyorista(luku,desit) {
desit = (!desit?2:desit);
return Math.round(luku*Math.pow(10,desit))/Math.pow(10,desit);
}
function Lasku1(form) {
// Sijoitetaan laskukaavan tulos muuttujaan:
var $Tulos1 = (form.a.value / 100) * form.b.value;
// Tarkistetaan onko kaavan tuloksena numero:
if (isNaN($Tulos1)) {
window.alert(Virhesanoma);
}
// Tulostus pyoristettynä:
else {
form.Tulos1.value = Pyorista($Tulos1);
}
}
// Sitten samat rutiinit toiselle funktiolle:
function Lasku2(form) {
var $Tulos2 = (form.c.value / form.d.value) * 100;
if (isNaN($Tulos2)) {
window.alert(Virhesanoma);
}
else {
form.Tulos2.value = Pyorista($Tulos2) + "%";
}
}
</script>
<form action="">
<table border="1" summary="Lomakekontrollien asemointitaulukko.">
<tr>
<td>
Paljonko on <input name="a" size="5" />
prosenttia <input name="b" size="5" />:sta?
</td>
<td>
<input type="button" value="Laske" onclick="Lasku1(this.form)" />
</td>
<td>
Tulos: <input name="Tulos1" size="7" />
</td>
</tr>
<tr>
<td colspan="3" align="center">
Tai...
</td>
</tr>
<tr>
<td>
Montako prosenttia <input name="c" size="5" />
on <input name="d" size="5" />:sta?
</td>
<td>
<input type="button" value="Laske" onclick="Lasku2(this.form)" />
</td>
<td>
Tulos: <input name="Tulos2" size="7" />
</td>
</tr>
</table>
</form>
Tämä sivu kuuluu vaikeimpiin JavaScript-esimerkkeihin.