javascript beginner

Status
Niet open voor verdere reacties.

jsobko

Gebruiker
Lid geworden
16 dec 2006
Berichten
6
hoi

na het uitlezen van het boek basiscursus javascript wil ik er eindelijk eens mee aan de slag

ik dacht ik begin heel simpel en maak een tellen

elke keer als ik klik verhoogt de teller met een.

maar wat blijkt het werkt dus niet.

oftewel doe ik iets helemaal verkeerd of men script slaat nergens op

hier het script

Code:
<html>

<head>

<title>javascript testing</title>

<script language="JavaScript">
var i=0;
function teller()
{
	i++;
}
</script>

</head>

<body>

<table border="1" width="500" height="300">
	<tr>
		<td width="250" align="center">
			<script language="JavaScript">
			document.write('teller: '+ i );
			</script>
		</td>
		<td width="250" align="center">
			<form>
			<input type="button" value="start" onclick="teller()">
			</form>
		</td>
	</tr>
</table>

</body>

</html>

maar bij het klikken doet de teller dus niks.

is er iemand die me op weg kan helpen?:rolleyes:
 
De teller doet wel wat, maar je snapt niet helemaal wat de functie document.write() doet.

document.write() schrijft direct in de HTML code. Op het moment dat jij deze functie aanroept is i gelijk aan 0. Dus 0 wordt in de HTML bron geschreven. Later wordt i wel hoger, maar in de bron staat niet i, er staat de waarde van i toen het geschreven werd. En dat was 0.

Je zult een container moeten hebben voor het getal en de innerHTML van die container aan moeten passen. Dat kan als volgt:
Code:
<html>

<head>

<title>javascript testing</title>

<script language="JavaScript">
var i=0;
function teller()
{
	i++;
[COLOR="Red"]	var teller_container = document.getElementById("td_teller_container");
	teller_container.innerHTML = i;[/COLOR]
}
</script>

</head>

<body>

<table border="1" width="500" height="300">
	<tr>
		<td width="250" align="center"[COLOR="Red"] id="td_teller_container"[/COLOR]>
		</td>
		<td width="250" align="center">
			<form>
			<input type="button" value="start" onclick="teller()">
			</form>
		</td>
	</tr>
</table>

</body>

</html>
 
aah ik snap het

je kan zogezegd wat er op de pagina staat niet veranderen tenzij het in een container staat of zoals in het boek met een klok gedaan word in een textvak van een formulier

klopt het wat ik zeg?
 
Nouja, het moet inderdaad in een container staan, maar die container mag elk element zijn wat je wilt. Je moet alleen niet document.write() gebruiken aangezien die iets letterlijk in de HTML bron schrijft. Wat je hier wilt doen is de HTML bron achteraf aanpassen. En dat doe je met container.innerHTML = ....
 
is er misschien ergens een site met meer uitleg over die innerHtml want dat stond dus niet in het boek :-)

of bestaat er ergens een algemene site waar alle javascript methods en dergelijke uitgelegd staan? zoals phpfreakz voor php is

alvast bedankt voor de hulp :thumb:

javascript is moeilijker dan ik dacht :)
 
element.innerHTML is geen functie, het is zelfs niet eens echt javascript. Het is onderdeel van het Document Object Model. Maar goed, hier is een overzichtelijk lijst van Javascript objecten en DOM objecten:
http://w3schools.com/jsref/default.asp

Helaas is dit niet compleet en de standaard properties en functies van een HTML element staan er niet bij. Dit is een lijst met de standaard properties en functies van elk HTML element:
https://developer.mozilla.org/en/DOM/element

Houd er rekening mee, alle objecten, properties en functienamen zijn hoofdlettergevoelig.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan