Tulos

Paljonko on prosenttia :sta? Tulos:
Tai...
Montako prosenttia on :sta? Tulos:

Koodi

Tämä tulee HEAD-osastoon

<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>

Tämä tulee BODY-osastoon

<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.

Weppipakin kotisivulle