element will nicht angesprochen werden
Christopher
- javascript
0 Helmut Weber0 Christopher0 aw0 christopher0 fastix®
0 Helmut Weber
0 fastix®0 devileye1
hallo ihr dort,
kann mir einer von euch vielleicht weiterhelfen - ich dreh langsam am rad.. unten ist der quelltext.. WARUM nimmt keine der variablen den wert des input-feldes an ?
<HTML><HEAD><TITLE>Titel</TITLE>
<script type="text/javascript" language="JavaScript">
a = document.forms['TESTform'].elements['in_name'].value;
b = document.getElementById("in_id").value;
c = document.getElementsByName("in_name")[0].value;
d = document.getElementsByTagName("input")[0].value;
e = document.TESTform.in_name.value;
</script>
</HEAD>
<BODY>
<form name=TESTform>
<input type="text" name="in_name" id="in_id" value="in_value">
</form>
</BODY>
</HTML>
ich bin mittlerweile erblindet. ;)
besten dank für jegliche denkanstöße..
mfg
christopher
Hallo Christopher,
<HTML><HEAD><TITLE>Titel</TITLE>
<script type="text/javascript" language="JavaScript">
a = document.forms['TESTform'].elements['in_name'].value;
b = document.getElementById("in_id").value;
c = document.getElementsByName("in_name")[0].value;
d = document.getElementsByTagName("input")[0].value;
e = document.TESTform.in_name.value;
</script>
</HEAD>
<BODY><form name=TESTform>
<input type="text" name="in_name" id="in_id" value="in_value">
</form></BODY>
</HTML>
Dein JavaScript wird beim Laden des Dokumentes ausgeführt. Zu diesem Zeitpunkt ist das Eingabefeld leer, und somit steht auch nichts in deinen Variablen.
Du solltest Deine JavaScript-Anweisungen in eine Funktion packen, die Du bei einem bestimmten Ereignis (Event) aufrufst. (z.B. Beim Abschicken des Formulars [onSubmit]).
Dann sollte zumindestens eine deiner Zuweisungen funktionieren ;)
Gruß
Helmut Weber
...das wirds sein
thx
Hallo,
<input type="text" name="in_name" id="in_id" value="in_value">
wieso leer? da steht doch "in_value" drin.
Mit freundlichen Grüßen,
Andreas Waidelich
prob gelöst.
das javascript wurde ausgeführt, bevor das feld gefüllt wurde..
thx
prob gelöst.
das javascript wurde ausgeführt, bevor das feld gefüllt wurde..
thx
Nein!
Das ist wie bei der Division durch Null:
Es existiert noch gar nicht. Wie soll ich den Inhalt eines nicht existierenden Feldes abfragen? Das ist gegenüber "leer" ein sehr großer Unterschied.
fastix®
Hallo Andreas,
<input type="text" name="in_name" id="in_id" value="in_value">
wieso leer? da steht doch "in_value" drin.
Habe ich wohl übesrehen ;)
Noch genauer:
Zu dem Zeitpunkt an dem der JavaScript-Befehl ausgeführt wird, ist das Eingabefeld noch gar nicht geladen... also sozusagen doch leer! ;)
Gruß
Helmut Weber
Dein Script wird zu einem Zeitpunkt abgearbeitet, zu welchem das Formular noch gar nicht existiert.
Versuch es mal so:
<HTML><HEAD><TITLE>Titel</TITLE>
<script type="text/javascript" language="JavaScript">
function werte() {
a = document.forms['TESTform'].elements['in_name'].value;
b = document.getElementById("in_id").value;
c = document.getElementsByName("in_name")[0].value;
d = document.getElementsByTagName("input")[0].value;
e = document.TESTform.in_name.value;
alert(b);
}
</script>
</HEAD>
<BODY>
<form name="TESTform" onload="werte()">
<input type="text" name="in_name" id="in_id" value="in_value">
</form>
</BODY>
</HTML>
#############
oder so:
<HTML><HEAD><TITLE>Titel</TITLE>
</HEAD>
<BODY>
<form name="TESTform" onload="werte()">
<input type="text" name="in_name" id="in_id" value="in_value">
</form>
<script type="text/javascript" language="JavaScript">
a = document.forms['TESTform'].elements['in_name'].value;
b = document.getElementById("in_id").value;
c = document.getElementsByName("in_name")[0].value;
d = document.getElementsByTagName("input")[0].value;
e = document.TESTform.in_name.value;
alert(b);
</script>
</BODY>
</HTML>
besten dank..
das feld muss dann ja doch schon erst gefüllt werden,
bevor es ansprechbar ist..
thx
Ich weiß nicht was du hast, aber es tut doch!
Hast du dir das mal ausgeben lassen?
Ich habe nichts verändert (außer a auskommentiert, da das fehlerhaft ist). Habe nur nen Button hinzugefügt und ein paar alert()- Boxen.
<HTML><HEAD><TITLE>Titel</TITLE>
<script type="text/javascript" language="JavaScript">
//a = document.forms['TESTform'].elements['in_name'].value;
function Test()
{
b = document.getElementById("in_id").value;
alert("b: "+b);
c = document.getElementsByName("in_name")[0].value;
alert("c: "+c);
d = document.getElementsByTagName("input")[0].value;
alert("d: "+d);
e = document.TESTform.in_name.value;
alert("e: "+e);
}
</script>
</HEAD>
<BODY>
<form name=TESTform>
<input type="text" name="in_name" id="in_id" value="Test"><br>
<input type="button" value="Button" onClick="Test();">
</form>
</BODY>
</HTML>