Robert: Feldnamen mit Bindestrichen ansprechen

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

  1. Hallo Robert,

    Du hast die Konventionen für Bezeichnernamen verletzt. Lies hier:
    http://selfhtml.teamone.de/javascript/sprache/regeln.htm#namen

    Gruß, Andreas

    1. 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

      --
      SVG - Learning By Coding
      http://svglbc.datenverdrahten.de/