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-ID: 84471

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

Ausgedruckt am: 24.11.2024 um 17:11 Uhr

EvilMoe
EvilMoe 01.04.2008 um 21:15:53 Uhr
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 ;)
DORNI
DORNI 01.04.2008 um 21:32:49 Uhr
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.