tulos

Lomakkeella muunnetaan euromääriä markoiksi (tai päinvastoin).
Tulos:  

Koodi

Tämä tulee HEAD-osastoon

<script type="text/javascript">
//<![CDATA[
/*
 * Tunnus:          Kalkulaattori; eurolaskin
 * Tekijä:          Osmo Saarikumpu
 * Tehty:           2009-10-13
 * Tekijänoikeudet: Vapaasti käytettävissä
 */

/* Ilmotetaan laskutoimituksen suorittava funktio,
   jota kutsutaan lomakkeen painikkeella. */

function muunnaValuutta() {

/* Ilmotetaan muutama funktiossa käytetty muuttuja: */

 //euron kurssi:
 var kurssi = 5.94573;

 //käyttäjän syöte:
 var syote;

 //merkkimuunnoksen apumuuttuja:
 var apuri = "";

 //syöte liukulukuna:
 var summa;

 //valuuttamuunnoksen tulos:
 var tulos;

 //lyhennetty viittaus tulosalueeseen:
 var alue = document.getElementById('tulosalue');

/* Sijoitetaan käyttäjän syöttämä arvo muuttujaan: */

 syote = document.laskin.syotealue.value;

/* Poistetaan syötteen mahdolliset tyhjämerkit,
   esim. jos miljoona on muodossa 1 000 000: */

 syote = syote.replace(/\s+/g,'');

/* Luodaan rutiini, joka tarvittaessa muuttaa
   syötetyn arvon pilkun pisteeksi: */ 

  //suoritetaan silmukka:
  for(var i=0;i<syote.length;i+=1) {
   //kunnes arvon kaikki merkit on käyty läpi:
   var merkki = syote.charAt(i);
   if (merkki == ',') {//jos merkki on pilkku             
     merkki = '.';//muutetaan se pisteeksi
   }
  apuri += merkki;//kasataan merkit takaisin apumuuttujaan
 }

/* Sijoitettan mahdollisesti muuttunut arvo
   liukulukuna muuttujaan: */

 summa = parseFloat(apuri);

/* Tarkastetaan onko arvo numero: */

  if (isNaN(summa)) {//jollei ole numero:
   //tulostetaan virhesanoma:
   alert('Muuntotoiminto syö vain numeroita!');
   //tyhjennetään tulosalue:
   alue.innerHTML = '';
   //lopetetaan funktio:
   return;
  }

/* Pyöristetyt laskutoimitukset suuntaan tai toiseen.
   Arvo tulos-muuttujaan kahdella desimaalilla: */

  else if (document.laskin.m2e.checked) {
   //jos valintaruutu markoista euroihin:
   tulos = (Math.round((summa/kurssi)*100)/100).toFixed(2);
   //lisätään euron symboli:
   tulos += " &euro;"; 
  }

  else {
   //muuten euroista markkoihin:
   tulos = (Math.round((summa*kurssi)*100)/100).toFixed(2);
   //lisätään markan tunnuskoodi:
   tulos += " FIM"; 
  }

/* Sijoitetaan tulos tulosalueelle: */

alue.innerHTML = tulos;
}
//]]>
</script>

Tämä tulee BODY-osastoon

<form
 action=""
 name="laskin"
 id="laskin">

<table
 border="1"
 cellspacing="2"
 cellpadding="2">
<caption>Lomakkeella muunnetaan euromääriä markoiksi
 (tai päinvastoin).</caption>

<tr>
<td>
<label
 for="syotealue">Syötä muunnettava summa:
</label> 
</td>
<td>
<input
 value=""
 name="syotealue"
 id="syotealue" />
</td>
</tr>

<tr>
<td>
<label
 for="m2e">Markoista euroiksi:
</label>
<input
 type="checkbox"
 name="m2e"
 id="m2e"
 value="" />
</td>
<td align="center">
<input
 type="button"
 value="Muunna"
 onclick="muunnaValuutta()" />
</td>
</tr>

<tr>
<td colspan="2">
Tulos:
<span
 id="tulosalue"
 style="color:red">
&nbsp;
</span>
</td>
</tr>

</table>

</form>

Tämä sivu kuuluu vaikeimpiin JavaScript-esimerkkeihin.

Weppipakin kotisivulle