Feldnamen mit Bindestrichen ansprechen
Robert
- javascript
Hallo alle,
ich möchte ein Hidden-Field mit JS ansprechen/auslesen. Der Name des Feldes enthält Bindestriche, also zum Beispiel :
<input type="hidden" name="x-y-z" value="irgendwas">
Wenn ich den Value testweise mit
feld='x-y-z';
alert(document.formname.elements[feld].value);
ausgeben möchte klappt das nicht :-| Bei Feldern ohne Bindestrichen funktioniert es.
Wo liegt der Fehler? Es ist doch ein String und von daher werden ja keine Rechenoperationen wegen dem "-" durchgeführt?!
Danke!
Robert
Hallo Robert,
Du hast die Konventionen für Bezeichnernamen verletzt. Lies hier:
http://selfhtml.teamone.de/javascript/sprache/regeln.htm#namen
Gruß, Andreas
Hallo,
Du hast die Konventionen für Bezeichnernamen verletzt.
Hat er nicht, es geht ja nicht um Variablen- oder Objektnamen. name-Attributwerte sind vom Typ CDATA, also kann man name="x-y-z" durchaus verwenden, man muss das nur korrekt "verpacken":
...
<body onload="alert(document.forms[0].elements['x-y-z'].value)">
<form action="">
<input type="hidden" name="x-y-z" value="irgendwas">
</form>
</body>
...
Empfehlenswert ist das aber eher nicht, weil unklar ist, was Server-seitige Sprachen mit solchen Parametern (v)erbrechen. Ausnahme: name="xyz[]" fuer die Auswertung von mehreren option-Eintragen mit PHP.
MfG, Thomas