Chantal S.: Existenz eines Feldes prüfen

Hallo zusammen,

kennt jemand eine Möglichkeit, um in JavaScript zu prüfen ob ein Hiddenfeld existiert?

Meine Situation:
Ich generiere automatisch(dynamisch) Hiddenfelder. Feld(1), Feld(2) usw.

Ich will nun herausfinden ob es ein Feld(1) gibt. Wenn es dieses nicht gibt, gibt es ein Feld2? usw.
Ich bekomme immer die Fehlermeldung: ... ist Null oder kein Objekt.
Ich weiss, dass dieses Feld1 NICHT existiert.

Wie kann ich nun mit JavaScript abfragen ob ein Feld vorhanden ist oder nicht?

Für Vorschläge bin ich echt dankbar.

Chantal S.

  1. Hi,

    Ich bekomme immer die Fehlermeldung: ... ist Null oder kein Objekt.

    wie sieht dein code aus?
    Woher soll irgendjemand erraten was Du geschrieben hast und wieso es diese Fehlermeldung provoziert?

    ciao
    romy

    --
    DIE ROMY AUS L. AN DER P. SAGT DANKE UND AUF WIEDERSEHEN
    sh:( fo:| ch:? rl:( br:& va:| zu:) ss:| ls:[
    Die Erklärung zum Selfcode findest du hier: http://emmanuel.dammerer.at/selfcode.html
    Einen Decoder für den Selfcode findest du hier: http://peter.in-berlin.de/projekte/selfcode
    1. Hallo,

      der komplette Code ist leider viel zu Lang, ich habe mal die wichtigsten Stellen herausgeschnitten und ein paar Erklärungen angegeben.

      Gruß Chantal

      function aufZahlenPruefen()
      {

      for(i=0;i<document.AuswahlDatensatz.AlleFelder.value;++i)
       {
       if(document['AuswahlDatensatz']['Zahlen'+'i'].value)
        {
         alert(document['AuswahlDatensatz']['Zahlen'+'i'].value);
        }
        else
        {
         alert("raus");
        }
       }

      es werden erst aus einer DB Daten ausgelesen und das ist nun die Stelle, an der man die Daten ändern kann.
      Nun soll aber an der Stelle wo sich in der DB Zahlen befinden zusätzlich ein Hiddenfeld erzeugt werden.
      Das Formular heisst:AuswahlDatensatz, AlleFelder ist die Anzahl der Spalten der Tabelle.

      Forschleife
      if Abfrage

      response.write("Bitte nur Zahlen eingeben!")
        Zahl = 1
      %>
        <input type=hidden name="Zahlen<%=(i)%>" value="<%=rs(i).value%>">
        <input type=text size=30 name="Bearbeitung<%=(i)%>" maxlength="<%=rs(i).definedSize%>" value="<%=rs(i).value%>">

      ende if
      ende For
      Wenn Zahl = 1 ist dann soll das JavaScript Formular angesprochen werden#######

      <input type=button value="Eintrag speichern" onClick="return aufZahlenPruefen()">

      Das Ziel was ich bei dieser Aktion habe ist, dass ich prüfen will ob wirklich Zahlen eingegeben wurden.

      1. Hi,

        Das Ziel was ich bei dieser Aktion habe ist, dass ich prüfen will ob wirklich Zahlen eingegeben wurden.

        ich kann DIr nicht sagen, was Dein Problem beim jacascript ist
        vielleicht:document['AuswahlDatensatz']['Zahlen'+'i'].value
                                                        ^^^^^
        i ohne '' da es ja eine Variable ist?

        ABer für solche Sachen gibt es funktionen
        is_number, is_numeric oä.
        http://selfhtml.teamone.de/javascript/sprache/operatoren.htm#typeof

        lass es doch schon serverseitig mit ASP prüfen, das hat bestimmt jede Menge FUnktionen dafür.
        Ausserdem prüft es auch wenn Javascript abgeschaltet ist.

        ciao
        romy

        --
        DIE ROMY AUS L. AN DER P. SAGT DANKE UND AUF WIEDERSEHEN
        sh:( fo:| ch:? rl:( br:& va:| zu:) ss:| ls:[
        Die Erklärung zum Selfcode findest du hier: http://emmanuel.dammerer.at/selfcode.html
        Einen Decoder für den Selfcode findest du hier: http://peter.in-berlin.de/projekte/selfcode
        1. Hallo,

          i ohne '' da es ja eine Variable ist?

          habe ich ausprobiert, macht keinen Unterschied.
          Das mit dem Prüfen habe ich jetzt in ASP gemacht, aber ich muss trotzdem noch wissen ob, und wenn ja, wie man abfragt, ob ein Feld existiert.
          (Wegen einem Alert, was sagt das nur Zahlen angegeben werden sollen)

          Gruß Chantal

          1. Hi,

            (Wegen einem Alert, was sagt das nur Zahlen angegeben werden sollen)

            d.h, wenn hiddenfeld 1 da ist, wird ein alert ausgegeben "nur zahlen eingeben" und wenn beispielsweise hiddenfeld2 da ist, wird ein alert ausgegeben "nur strings eingeben"

            verstehe ich das Richtig?

            Auch das würde ich serverseitig machen. Wenn DU die hidden-fields generierst, muss ja das Script wissen, welche es generieren soll, oder?
            ALso generiere auch den funktionsaufruf mit, d.h. welcher text beim alert ausgegeben werden soll.

            Habe mal nachgeschaut, aber keine passende Funktion gefunden um nachzusehen ob ein bestimmtes Objekt da ist.Mximal sowas wie getElementsByTagName(), wo Du dann nach inputfeldern selektieren kannst, kenne aber die genaue Verfahrensweise nicht, sorry

            ciao
            romy

            --
            DIE ROMY AUS L. AN DER P. SAGT DANKE UND AUF WIEDERSEHEN
            sh:( fo:| ch:? rl:( br:& va:| zu:) ss:| ls:[
            Die Erklärung zum Selfcode findest du hier: http://emmanuel.dammerer.at/selfcode.html
            Einen Decoder für den Selfcode findest du hier: http://peter.in-berlin.de/projekte/selfcode
            1. Hallo,

              Naja, da kann man nix machen, dann muss ich mal weiter schauen, aber trotzdem vielen Dank für deine Mühe.

              Gruß Chantal

      2. Hallo,

        for(i=0;i<document.AuswahlDatensatz.AlleFelder.value;++i)
         {

        if(document['AuswahlDatensatz']['Zahlen'+i] && document['AuswahlDatensatz']['Zahlen'+i].value)

        {
           alert(document['AuswahlDatensatz']['Zahlen'+i].value);
          }
          else
          {
           alert("raus");
          }
         }

        so sollte es gehen.
        Im übrigen würde ich das wirklich serverseitig testen, wie romy vorgeschlagen hat.

        Gruss
        Kube