Felix Riesterer: Im Javacript Text aus input type text auslesen und verwenden

Beitrag lesen

Lieber Justin,

var max = document.input_text.anzahlpotenzen.value;

Du verwendest eine "Eigenschaft" des Objektes "document", die nicht existiert. Was soll "document.input_text" denn sein?

Was Du anscheinend noch nicht weißt: Im Document-Objekt gibt es ein Unterobjekt namens document.forms, in welchem auch Dein Formular enthalten ist. Wahrscheinlich ist Dein Formular das einzige Formular in Deinem Dokument, sodass Du mit document.forms[0] auf das Element-Objekt, welches sich hinter <form...> versteckt, zugreifen kannst.

var max = document.forms[0].input_text.anzahlpotenzen.value;

Ist Dir die Hierarchie der Objekte verständlicher geworden?

Dein nächstes Problem ist dieser Abschnitt:

out = "<tr><td>" + i + "</td><td>" + zweierpotenz(i)+ "</td></tr>"
document.write(out) ;

1.) "out" ist eine globale Variable, da Du das Schlüsselwort "var" nicht davor stehen hast (innerhalb der Schleife ist das auch nicht korrekt, da Du die Variable _voerher_ initialisieren musst). Globale Variablen (sprich "Eigenschaften des window-Objektes") will man vermeiden.

2.) Die Anweisung document.write() bewirkt beim Laden der Seite, dass Inhalte an der Stelle des <script>-Elements ins Dokument geschrieben werden. Wenn allerdings das Laden der Seite abgeschlossen ist (Dein onclick-Event geschieht ja wohl nach dem Laden, oder nicht?), bewirkt diese Methode, dass das gegenwärtige Dokument komplett(!) durch den auszugebenden Inhalt ersetzt wird. Und das willst Du ja nicht, oder?

Liebe Grüße,

Felix Riesterer.

--
ie:% br:> fl:| va:) ls:[ fo:) rl:° n4:? de:> ss:| ch:? js:) mo:} zu:)