NN4.x & document.forms

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • NN4.x & document.forms

    Hallo,

    die Funktion rufe mit ...onblur="chk_value('Name','5');"
    auf, das funktioniert auch mit MSIE4-6, Opera6, NN6+
    nur NN4.x meldet: item_value has no properties - Mist!

    function chk_value(item,i){
    var item_value = document.forms[0].elements[item].value;

    if (item_value.length < i){
    document.images[item].src = "../img/nicht_ok.gif";
    }
    else{
    document.images[item].src = "../img/ok.gif";
    }
    }

    vielleicht weiß ja jemand weiter...
    Gruß
    Thomas

  • #2
    Re: NN4.x &amp; document.forms

    der zugriff über
    document.forms[0].elements[item].value
    also mit dem element-namen in eckigen klammern ist eigentlich nicht vorgesehen in javascript...


    wenn du stattdessen über die nummer des elementes zugreifst, müsste es funzen:
    document.forms[0].elements[0].value
    document.forms[0].elements[1].value
    document.forms[0].elements[2].value
    etc.

    also einfach der funktion statt dem namen die nummer des elements übergeben.
    I don't believe in rebirth. Actually, I never did in my whole lives.

    Kommentar


    • #3
      guter Ansatz, Danke!
      document.forms[0].elements[11].value funktioniert,
      mein Problem ist aber das die zu testenden Elemente
      je nach dem wo includet wird einen anderen Index haben...

      gibt es denn keine Möglichkeit mit dem Namen des Elementes zu
      arbeiten...
      Gruß
      Thomas

      Kommentar


      • #4
        gibt es denn keine Möglichkeit mit dem Namen des Elementes zu arbeiten...
        doch, aber nur hart kodiert, dann ist es nicht mehr variabel...

        document.Formname.Feldname.value = ...;


        du könntest aber mit eval() den namen dynamisch zusammenbasteln:

        objekt = eval("document.Formname."+item);
        objekt.value = ...;
        wobie item dann den namen des feldes enthält.
        I don't believe in rebirth. Actually, I never did in my whole lives.

        Kommentar


        • #5
          noch was entdeckt,
          wie immer ganz am Schluß!

          NN4.x scheint gar kein .length zu kennen,
          der Vergleich mit ....value == ""); klappt
          aber ....value.length < 5); leider nicht,
          hab die 5 auch schon in Anführungszeichen gesetzt - tut es auch nicht...
          so ein Mist...

          trotzdem Danke.
          Gruß
          Thomas

          Kommentar


          • #6
            NN4.x scheint gar kein .length zu kennen,
            der Vergleich mit ....value == ""); klappt
            aber ....value.length < 5); leider nicht
            doch, eigentlich müsste er das kennen.

            versuch mal den wert erst einer variable zuzuweisen, und dann deren länge ausgeben zu lassen:

            var wert = ....value.length;
            alert(wert.length);

            funktioniert das?
            I don't believe in rebirth. Actually, I never did in my whole lives.

            Kommentar


            • #7
              irgendwie nicht, die Console sagt
              item_value has no properties.

              var item_value;
              item_value = document.Formular.Name.value;
              if (item_value.length() < 5){

              ich habe auch schon mal den _ rausgelassen,
              man kennt ja NN bringt aber nix.

              Ich glaube NN4.x Support wird einfach eingestellt!
              (jaja, ist unprofessionell die eigenen Fehler dem Browser anzulasten...)
              Gruß
              Thomas

              Kommentar

              Lädt...
              X