Toepassing: tafels
Maak een toepassing waarbij de gebruiker in een tekstvak een getal kan ingeven. Wanneer de gebruiker op een knop 'maak tafel' drukt verschijnt de tafel van het opgegeven getal op het scherm.
Toon /verberg
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Javascript: oefening DOM</title>
<link rel="stylesheet" type="text/css" href="vb.css">
<script type="text/javascript">
//<!--
/* *************************
* functie: toonTafel
* doel: toon tafel uit element 'tafel' in het element 'resultaat'
* in:
* out:
* *************************/
function toonTafel(){
//prefix E voor een Element
var Etafel = new getObj("tafel");
var Eresultaat = new getObj("resultaat");
var tafel = Etafel.obj.value;
var strRes = "";
if(!isNaN(tafel) && parseInt(tafel)==tafel){
for (var i = 1; i < 11 ; i++){
strRes += tafel +" x " +i +" = " +(tafel*i) +"<BR>";
}
} else {
strRes = "Geen getal geheel getal opgegeven !";
}
Etafel.obj.select();
Eresultaat.obj.innerHTML = strRes;
}
/* *************************
* functie: getObj
* doel: maak een object met een eigenschap obj als
* cross-browser objectverwijzing naar een element op de pagina
* in: id van het element
* out:
* gebruik: var mijnobj = new getObj('elementnaam');
* objecteigenschap: mijnobj.obj.objecteigenschap
* *************************/
function getObj(name){
if (document.getElementById){
this.obj = document.getElementById(name);
} else if (document.all) {
this.obj = document.all[name];
} else if (document.layers) {
this.obj = document.layers[name];
}
}
-->
</script>
</head>
<body>
<h1>Oefening DOM</h1>
<h2>Tafels</h2>
<input id="tafel" type="text" value="5">
<input type="button" value="Toon tafel" onclick="toonTafel()">
<div style="margin-top:20px" id="resultaat"></div>
</body>
</html>
Gemodulariseerde code:
Toon /verberg
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Javascript: oefening DOM</title>
<link rel="stylesheet" type="text/css" href="vb.css">
<script type="text/javascript">
//<!--
/* *************************
* functie: toonTafel
* doel: toon de opgegeven tafel in het opgegeven element
* in: int tafel,element resultaat
* out:
* *************************/
function toonTafel(Etafel,Eresultaat){
var tafel = Etafel.obj.value;
Eresultaat.obj.innerHTML = maakTafel(tafel);
Etafel.obj.select();
}
/* *************************
* functie: maakTafel
* doel: maak een String met de gekozen tafel
* in: int tafel
* out: String tafel
* *************************/
function maakTafel(tafel){
var strRes = "";
if(!isNaN(tafel) && parseInt(tafel)==tafel){
for (var i = 1; i < 11 ; i++){
strRes += tafel +" x " +i +" = " +(tafel*i) +"<BR>";
}
} else {
strRes = "Geen geheel getal opgegeven !";
}
return strRes;
}
/* *************************
* functie: getObj
* doel: maak een object met een eigenschap obj als
* cross-browser objectverwijzing naar een element op de pagina
* in: id van het element
* out:
* gebruik: var mijnobj = new getObj('elementnaam');
* objecteigenschap: mijnobj.obj.objecteigenschap
* *************************/
function getObj(name){
if (document.getElementById){
this.obj = document.getElementById(name);
} else if (document.all) {
this.obj = document.all[name];
} else if (document.layers) {
this.obj = document.layers[name];
}
}
-->
</script>
</head>
<body>
<h1>Oefening DOM</h1>
<h2>Tafels</h2>
<input id="tafel" type="text" value="5">
<input type="button" value="Toon tafel" onclick="toonTafel(new getObj('tafel'),new getObj('resultaat'))">
<div id="resultaat"></div>
</body>
</html>