Werkwijze: Er is hier gekozen voor twee formulieren. De ene is een formulier met een button ("formulier2"). De tweede is een formulier met de naam "formulier3". Er zijn o.a. tekst-formulieren en formulieren die een button bevatten en waarop geklikt kan worden.
Oplossing:
<HTML>
<HEAD>
<TITLE>......</TITLE>
</HEAD>
<SCRIPT>
function car (make,model,owner)
{
this.make=make
this.model=model
this.owner=owner
this.displayCar=displayCar
}
function person (lastName,firstName,leeftijd,date,street,town)
{
this.lastName = lastName
this.firstName = firstName
this.leeftijd = leeftijd
this.date = date
this.street = street
this.town = town
this.displayPerson = displayPerson
}
function displayCar ()
{
document.formulier3.eigenschap1.value = "Car/1:" + this.make;
document.formulier3.eigenschap2.value = "Car/2:" + this.model;
document.formulier3.eigenschap3.value = "Car/3:" + this.owner;
document.formulier3.eigenschap4.value = "Car/4: .....";
}
function displayPerson ()
{
document.formulier3.eigenschap1.value = "Pers/1:" + this.lastName;
document.formulier3.eigenschap2.value = "Pers/2:" + this.firstName;
document.formulier3.eigenschap3.value = "Pers/3:" + this.date;
document.formulier3.eigenschap4.value = "Pers/4:" + this.town;
}
</SCRIPT>
<BODY>
xxx
xxx
etc.
xxx
xxx
<SCRIPT>
rik = new person ("Min,", "Rik", 51, 1946, "schopmanl. 22","Enschede")
annet = new person ("Janssen,", "A.", 51, 1946, "xx", "xxx")
helene = new person ("Gerritsen,", "H.", 51, 1946, "xxx", "xxx")
rita = new person ("Jonassen,", "K.", 51, 1946, "xxx", "xxx")
pietje = new person ("Puk,","Pietje",51, 1900,"xxxx-landen aa","Enschede")
rikscar = new car (1990, "Nissan", rik.lastName)
pietjescar = new car (1994, "Toyota", pietje.lastName)
</SCRIPT>
xxx
xxx
xxx
xxx
<FORM NAME="formulier2">
<INPUT
TYPE="button"
VALUE="properties van rik"
ONCLICK="rik.displayPerson ()">
<INPUT
TYPE="button"
VALUE="properties van rik's car"
ONCLICK="rikscar.displayCar ()">
</FORM>
xxx
<FORM NAME="formulier3">
<INPUT TYPE="text" NAME="eigenschap1" VALUE="xxx1" SIZE="15">
<INPUT TYPE="text" NAME="eigenschap2" VALUE="xxx2" SIZE="15">
<INPUT TYPE="text" NAME="eigenschap3" VALUE="xxx3" SIZE="15">
<INPUT TYPE="text" NAME="eigenschap4" VALUE="xxx4" SIZE="15">
</FORM>
xxx
xxx
xxx
xxx
</BODY>
</HTML>
Ieder formulier heeft hier een aparte naam. Die namen moet je dan wel steeds gebruiken. Hoewel je ook een (groot) formulier kan gebruiken, hebben afzonderlijke formulieren - met ieder een aparte naam - bepaalde voordelen.
Als je in de functie-beschrijving "displayCar()" gewoon "document.write(this.make)" en "document.write(" " + this.owner + "..BR..")" etc. zou gebruiken komt de browser met een nieuwe compleet witte pagina met daarop de string "1990 Nissan Min". Dat is meestal niet gewenst. De meeste browers raken daardoor altijd wel een beetje van slag. Derhalve dien je de tekst-strings in een tekst-veld in een formulier te presenteren. DisplayCar dien je dus t.o.v. de vorige oefening daarop aan te passen.
U ziet hierboven dat er twee buttons zijn die - om de beurt - ieder de properties (eigenschappen of kenmerken) van een object (in vier velden) kunnen presenteren. Noem het eventueel de 'inhoud' van een object.
Als je op een van de buttons klikt zie je de inhoud van het betreffende object gepresenteerd (gedisplayed) worden. Dit is dus de methode om de inhoud uit een object te 'lezen' en in een bestaande web-pagina iets te presenteren. Let in dit voorbeeld op (de vreemde) komma's en (iets te weinig) spaties in de diverse strings. De lay-out van een programma is (immers) altijd pas in een later stadium van belang.
Enschede, 5 nov. 1999