warum klappt variablen einbau bei form.name nicht?
frankx
- javascript
Hallo,
mit
<form name="form">
<input type="button" value="hallo" name="name1>
gibt:
var abc = document.form.name1.value;
alert (abc); // hallo
var xyz = "name1";
alert(xyz); //name1
var sdf = document.form.xyz.value;
alert (sdf); //bricht ab, Fehlermeldung document.form.xyz.value not defined
geht das so nicht bzw.was ist da falsch?
Dank frankx
eigentlich ist das Doppelposting.
<form name="form">
<input type="button" value="hallo" name="name1>
gibt:
var abc = document.form.name1.value;
alert (abc); // hallovar xyz = "name1";
alert(xyz); //name1
var sdf = document.form.xyz.value;
alert (sdf); //bricht ab, Fehlermeldung document.form.xyz.value not defined
Ist logisch, weil es kein Objekt mit dem Namen 'form.xyz' gibt, du möchtest den Indexoperator verwenden der ist für sowas da.
Struppi.
eigentlich ist das Doppelposting.
warum? Ich habe extra überlegt, ob ich es an die Antwort von Steffen dranhänge und dachte dann: na, wenn sich jemand hierfür interessiert aber nicht für die Referenzgeschichte, dann nutzt die Antwort vielleicht.
Aber denken ist eben manchmal Glücksache.
Extranichtdoppelposter Frankx
Hallo Struppi,
dank für den Tipp mit dem Indexoperator. Wurde fündig (;-) http://spotlight.de/zforen/jas/m/jas-1132323563-4981.html
Ist logisch, weil es kein Objekt mit dem Namen 'form.xyz' gibt...
kapieren tu ich bisher nur, wie ich es umgehen kann. Warum ersetzt denn JS das "xyz", was ja als Variable deklariert wurde, nicht durch den Inhalt? Das klappt doch sonstens auch. Ich wollte ja kein form.xyz sondern form.name1...;
Dank und Gruß,
Frankx
Ist logisch, weil es kein Objekt mit dem Namen 'form.xyz' gibt...
kapieren tu ich bisher nur, wie ich es umgehen kann. Warum ersetzt denn JS das "xyz", was ja als Variable deklariert wurde, nicht durch den Inhalt? Das klappt doch sonstens auch. Ich wollte ja kein form.xyz sondern form.name1...;
Mit 'sonst' meinst du PHP (oder auch Perl). In JS kann das nicht klappen da es hier kein Möglichkeit gibt die Variabel zu identifizieren gibt. woher soll JS Wissen, dass du nicht 'form.xyz' sondern form[xyz] meinst? es kann ja durchaus auch ein Element mit dem Namen 'xyz' geben.
Struppi.