Sven: Probleme mit Feldnamen

Hi, ich habe folgendes Problem:

Ich hab auf einer dynamisch generierten HTML-Seite bei einem Formular JavaScript-Funktionen zur Berechnung hinterlegt. Merkwürdigerweise scheinen der IE (V5.5) und Opera (4.02) mit den Feldnamen der INPUT-Felder in Javascript Probleme zu haben (bspw. heißt ein Feld 01635_1). In Netscape kein Problem. Ist der Fehler bekannt und gibt es eine Lösung dafür ? Gibt es irgendeine Restriktion, die besagt, daß man die Felder so nicht nennen darf, denn sobald ein Buchstabe ins Spiel kommt, klappt auch alles beim IE.

Code Auszug HTML
--
<td><input type=text name=01635_1 value="0.0" size=3 style="width:40px" maxlength=6 onFocus="this.blur()"></td>
--

Code Auszug JavaScript
--
wert_pj_alt  = parseFloat(document.form1[01635_1].value);
--

Danke und Grüße

  1. Hi,

    Gibt es irgendeine Restriktion, die besagt, daß man die Felder so nicht nennen darf, denn sobald ein Buchstabe ins Spiel kommt, klappt auch alles beim IE.

    Ja.
    <../../teba.htm#a3>

    Hier steht "das erste Zeichen sollte ein Buchstabe sein". Ich würde das mal folgendermaßen korrigieren:
    "das erste Zeichen muß ein Buchstabe sein". Dann bist du auf jeden Fall auf der sicheren Seite.

    Gruß,
    Slyh

    1. Hallo Slyh!

      Hier steht "das erste Zeichen sollte ein Buchstabe sein". Ich würde das mal folgendermaßen korrigieren:
      "das erste Zeichen muß ein Buchstabe sein". Dann bist du auf jeden Fall auf der sicheren Seite.

      mann, lange ist es her, dass ich nicht in SELFHTML reingeschaut habe... Sicher, das wird's sein...

      Weiterles....:

      o sie sollten maximal 32 Zeichen Länge haben

      Puuh! Da habe ich mit meiner class="programmiertechnischeFehlgeburt" aus <../../sfarchiv/2000_3/t19998.htm#a101171> noch mal Glück gehabt, was? Genau 31 Zeichen!

      ;-)

      Viele Grüße und
      Bis danndann
      PAF (patrickausfrankfurt)

      <img src="/selfaktuell/extras/selfcomm.jpg" alt=""> http://www.atomic-eggs.com/selfspezial/guests/advguest.cgi?view

      <img src="http://www.atomic-eggs.com/selfspezial/atomicegg.gif" alt="Atomic Eggs - die humosophische Seite" style="cursor:hand;" onMouseUp="window.location.href='http://www.atomic-eggs.com/'" onmouseover="status='http://www.atomic-eggs.com/';return true;" onmouseout="status='';return true;">

      1. Hi,

        mann, lange ist es her, dass ich nicht in SELFHTML reingeschaut habe... Sicher, das wird's sein...

        Ich glaube es liegt sowohl an den fehlenden Anführungszeichen, als auch an dem von mir beschriebenem Fehler.

        Weiterles....:

        o sie sollten maximal 32 Zeichen Länge haben

        Puuh! Da habe ich mit meiner class="programmiertechnischeFehlgeburt" aus <../../sfarchiv/2000_3/t19998.htm#a101171> noch mal Glück gehabt, was? Genau 31 Zeichen!

        Was habe ich gelacht, als ich diesen Klassennamen gesehen habe! :-)

        Gruß,
        Slyh

    2. Hier steht "das erste Zeichen sollte ein Buchstabe sein". Ich würde das mal folgendermaßen korrigieren:
      "das erste Zeichen muß ein Buchstabe sein". Dann bist du auf jeden Fall auf der sicheren Seite.

      Danke. Hab ich wohl damals beim Durchlesen des Ganzen wohl übersehen. Ich mach's jetzt auch erstma so, wie es Patrick gesschrieben hat und setze alles in Anführungszeichen.

      Grüße+Danke Euch Allen

  2. Hallo Sven!

    <td><input type=text name=01635_1 value="0.0" size=3 style="width:40px" maxlength=6 onFocus="this.blur()"></td>

    Laut W3C sind Anführungszeichen zwingend bei Attributen mit Wertangangaben.

    so kann man

    type=text so stehen lassen aber

    so sollte man

    name="01635_1" und size="3" schreiben.

    Überhaupt gehört es zum guten Stil, alles in Anführungszeichen anzugeben, sie in JS und Perl-Anweisungen gegebenenfalls zu maskieren.

    Vielleicht bringt Dir das ein Stück weiter (leider keine Zeit zum testen, heute)...

    Bis danndann
    PAF (patrickausfrankfurt)

    <img src="/selfaktuell/extras/selfcomm.jpg" alt=""> http://www.atomic-eggs.com/selfspezial/guests/advguest.cgi?view

    <img src="http://www.atomic-eggs.com/selfspezial/atomicegg.gif" alt="Atomic Eggs - die humosophische Seite" style="cursor:hand;" onMouseUp="window.location.href='http://www.atomic-eggs.com/'" onmouseover="status='http://www.atomic-eggs.com/';return true;" onmouseout="status='';return true;">

  3. Hallo Sven,

    wert_pj_alt  = parseFloat(document.form1[01635_1].value);

    wert_pj_alt  = parseFloat(document.form1["01635_1"].value);
                                             ^       ^

    So wie du es geschrieben hast ist nicht so ganz klar welche Typumwandlung wie
    stattfinden soll. (Genau: mir ist unklar wieso das überhaupt durch den Parser geht.)
    Vermutlich sucht der IE nach einem Element 1635, weil er erst die Zahl sieht,
    sie in einen int konvertiert (also parseInt("01635_1")=1635) und das dann als
    numerischen Index nimmt.

    Gruss,
    Carsten