Eerst maar even de "code"
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
	<head>
		<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
		<title>Blaat!</title>
		<!--<script type="text/javascript" src="test.js"></script>-->
		<script type="text/javascript">
		function changeDiv( div, value )
		{
			document.getElementById( div ).innerHTML = value;
		}
		changeDiv( 'divje2', 'blaat' );
		</script>
	</head>

	<body>
		<div id="divje1">
			<form method="get" action="test.html">
				<fieldset>
					<label for="naam">Spelernaam</label>
					<input type="text" id="naam" name="q" onkeyup="changeDiv( 'divje2', this.value )" />
				</fieldset>
			</form>
		</div>
		<div id="divje2">
		</div>
		<div id="divje3"><span><a href="javascript:void(0)" onclick="changeDiv( 'divje2', '1,2,3 :+' )">Klik!</a></span></div>
	</body>
</html>


Alles op "changeDiv( 'divje2', 'blaat' );" na, werkt uitstekend.
Als ik in het textvak typ komt dat netjes in divje2.
Klik ik de link komt er ook netjes de tekst in divje2.

Maar, "changeDiv( 'divje2', 'blaat' );" geeft gek genoeg "Fout document.getElementById(div) has no properties".
Ik kom er dan ook niet uit, wat zou het kunnen zijn?
Zowel inline als extern komt het probleem voor.

Edit:
Als ik "divje2" keihard in de functie zet, heb ik hetzelfde probleem.
"Fout document.getElementById("divje2") has no properties"
Je roept die functie direct in de head aan, dus nog voor dat de body geladen is. DOM functies zijn pas beschikbaar waneer de pagina helemaal geladen is (best logisch eigenlijk, het is immers XML parsen)

Dit werkt wel:

document.onload = function() {
   changeDiv('divje2', 'blaat');
}


even code-tags eromheen gezet, goed voor het inspringen
Goh, dat had ik ook kunnen bedenken ;)
Bedankt.

Reageren