sven: Javascript kürzt meinen String und wandelt ihn in eine Zahl um!!?

Hallo,
das gibts ja nicht:

Ich möchte auf den Wert eines Elementes in meinem Formular zugreifen. Das Element hat den Namen "111_abc". Also lautet mein Code so:

self.documents.forms[0].elements["111_abc"].value

Jetzt ist JavaScript aber egal, dass in der eckigen Klammer ein String steht, und kürzt von dem String alles, was nach dem Unterstrich kommt. Ausgeführt wird also der Code:

self.documents.forms[0].elements[111].value

Und mit diesem Code wird auf das 111. Element in meinem Formular zugegriffen :((((

Gibt es einen Trick wie ich das verhindere? Gibt es andere Funktionen, mit denen man aus einem Array (wenn ich hier überhaupt einen Array habe??) mit einem String den entsprechenden Wert holen kann?

Leider ist es notwendig, dass der String mit einer Zahl und einem Unterstrich beginnt...

Ich hoffe ihr könnt mir helfen!

  1. Hallo,
    das gibts ja nicht:

    Ich möchte auf den Wert eines Elementes in meinem Formular zugreifen. Das Element hat den Namen "111_abc". Also lautet mein Code so:

    self.documents.forms[0].elements["111_abc"].value

    Jetzt ist JavaScript aber egal, dass in der eckigen Klammer ein String steht, und kürzt von dem String alles, was nach dem Unterstrich kommt. Ausgeführt wird also der Code:

    self.documents.forms[0].elements[111].value

    Und mit diesem Code wird auf das 111. Element in meinem Formular zugegriffen :((((

    Gibt es einen Trick wie ich das verhindere? Gibt es andere Funktionen, mit denen man aus einem Array (wenn ich hier überhaupt einen Array habe??) mit einem String den entsprechenden Wert holen kann?

    Leider ist es notwendig, dass der String mit einer Zahl und einem Unterstrich beginnt...

    Ich hoffe ihr könnt mir helfen!

    Hi !

    Mach es doch so:

    Nenn das Feld "dummy_111_abc". Dann mußt Du später nur das Wort "dummy_" im Elementnamen überspringen.

    Gruß

    Hans

  2. hi,

    Das Element hat den Namen "111_abc". Also lautet mein Code so:
       self.documents.forms[0].elements["111_abc"].value
    Jetzt ist JavaScript aber egal, dass in der eckigen Klammer ein String steht, und kürzt von dem String alles, was nach dem Unterstrich kommt.

    ist das "javascript" egal - oder lediglich dem javascript-interpreter des gewissen browsers, mit dem du testet?

    Leider ist es notwendig, dass der String mit einer Zahl und einem Unterstrich beginnt...

    auch wenn das für das name-attribut erlaubt sein mag - namen mit zahlen beginnen zu lassen, würde ich im allgemeinen nicht empfehlen.
    zumal in den allermeisten programmiersprachen gilt, dass variablennamen nicht mit einer ziffer beginnen dürfen. folgeprobleme sind also nicht auszuschließen.

    gruß,
    wahsaga

    --
    /voodoo.css:
    #GeorgeWBush { position:absolute; bottom:-6ft; }