dorni
Goto Top

Ich komme mit DOM nicht zurecht

bzw. DOM versteht mich nicht

Hallo ich habe eine Html-Seite bei der ich gerne einen Wert eines Elements auslesen möchte. Mein Problem ist ich schnall das mit dem DOM irgendwie nicht so richtig, ich fange also an mit"document." klar weil ich auf die Seite selbst zugreifen möchte. Im Anschluss mach ich weiter mit "getElementById('artist')." um auf das Inputelement artist zuzugreifen und "value" um den wert des elements zu bekommen. Aber wenn ich die Seite (Code siehe unten) aufrufe bekomme ich kein Alertfenster in dem "Manowar" steht. Was mach ich falsch oder anders rum gefragt wie greife ich richtig auf das Element zu?

die HTML-Datei:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"  
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">  
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">  
<head>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />  
<title>Ändern eines Albums</title>
<link rel="stylesheet" type="text/css" media="screen"  
href="/zf-tutorial/anwendung/public/css/site.css" />  
<script language="JavaScript" type="text/javascript" src="/zf-tutorial/anwendung/public/js/js.js"></script>  
</head>
<body>
<div id="content">  
<h1>Ändern eines Albums</h1>
<form name="album" id="album" enctype="application/x-www-form-urlencoded" action="" method="post"><dl class="zend_form">  
<dt></dt>
<dd>

<input type="hidden" name="id" value="1" id="id" /></dd>  
<dt><label for="artist" class="required">Artist</label></dt>  
<dd>
<input type="text" name="artist" id="artist" value="Manowar"></dd>  
<dt><label for="title" class="required">Title</label></dt>  
<dd>
<input type="text" name="title" id="title" value="Louder than Hell"></dd>  
<dt></dt><dd>
<input type="submit" name="submit" id="submitbutton" value="Save"></dd></dl></form></div>  
</body>
</html>

Die JS-Datei
var test = document.getElementById('artist').value;  
alert(test);

Content-Key: 84471

Url: https://administrator.de/contentid/84471

Printed on: April 18, 2024 at 06:04 o'clock

Member: EvilMoe
EvilMoe Apr 01, 2008 at 19:15:53 (UTC)
Goto Top
Das Problem liegt daran das die ID zu dem Zeitpunkt noch garnicht existiert wenn das JS ausgeführt wird. Schreibe einfach in deine JS Datei.
window.onload = function()
{
	var test = document.getElementById('artist').value;  
	alert(test);
}
Dann wird erst dein JS Script aufgerufen nachdem die Seite geladen wurde und auch die ID existiert. Und schon funktionierts ;)
Member: DORNI
DORNI Apr 01, 2008 at 19:32:49 (UTC)
Goto Top
Ich danke dir funktioniert Perfekt und ich dachte ich komm mit den Objekten nicht zurecht dabei war es nur der Zeitpunkt das Aufrufs.