JürgenB: <map> und globale variablen ausgeben

Beitrag lesen

Hallo kosc,

du musst bei Javascript folgendes wissen: Befehle, die nicht in Funktionen stehen, werden sofort ausgeführt. Dazu scheint dein Teil mit dem document.write zu gehören. Events, wie z.B. onclick, werden erst ausgeführt, wenn das Ereignis eintritt. Wenn du also willst, dass ein Teil deiner Seite verändert wird, musst die dazu gehörenden Befehle in den Eventhandler schreiben. Da der Event aber erst nach dem Laden und Rendern der Seite ausgelöst werden kann, darfst du kein document.write mehr nehmen. Folgendes Beispiel ändert den Inhalt eines Ps bei Klick auf ein Element:

...
  <script type="text/javascript">
   function tuwas(txt) {
     document.getElementById("feld").firstChild.data=txt;
   }
  </script>
 </head>
 <body>
  <h1>Test2</h1>
  <p onclick="tuwas('Neuer Text')">Klick mich!</p>
  <p onclick="tuwas('Alter Text')">Klick mich auch!</p>
  <p id="feld">Text</p>
 </body>
</html>

siehe hierzu:

http://de.selfhtml.org/javascript/objekte/document.htm#get_element_by_id
http://de.selfhtml.org/javascript/objekte/node.htm

Mit diesem Beispielcode kann aber nur Text in das Feld geschrieben werden. Außerdem muss das Feld schon einen Inhakt haben und sei es nur ein &nbsp;. Wenn es mehr sein soll, benötigst du die create-Methoden oder innerHTML.

Gruß, Jürgen