Roger Lewin: Wie prüfe ich nach, ob ein Element vorhanden ist ?

Hallo,

ich baue mir ein Formular dynamisch auf, und weiß vorher noch nicht, ob ein Element (z.B. document.form.textbox.value) da ist
Ich belege aber eine Variable mit dem Wert dieser Textbox. Falls sie nicht da ist, will ich einen leeren String in die Variable schreiben

Hat jemand eine Idee ?

Gruß
Roger

  1. Hallo,

    ich baue mir ein Formular dynamisch auf, und weiß vorher noch nicht, ob ein Element (z.B. document.form.textbox.value) da ist
    Ich belege aber eine Variable mit dem Wert dieser Textbox. Falls sie nicht da ist, will ich einen leeren String in die Variable schreiben

    Hat jemand eine Idee ?

    Du suchst 'typeof'

    if(typeof document.form == 'undefined') return alert('form existiert nicht.');
    if(typeof document.form.textbox == 'undefined') return alert('textbox existiert nicht.');

    Struppi.

    1. Hallo zurück,

      habe es auch mal ganz profan mit

      if (document.form.textbox == null)
       {
       var = ""
       }
      else
       {
       var = document.form.textbox.value
       }

      gemacht. Klappte auch, typeof scheint aber wohl beser zu sein

      Danke !

      Gruß
      Roger

      1. Hallo zurück,

        habe es auch mal ganz profan mit

        if (document.form.textbox == null)
         {
         var = ""
         }
        else
         {
         var = document.form.textbox.value
         }

        gemacht. Klappte auch, typeof scheint aber wohl beser zu sein

        Klappt auch ist relativ. Da du gefragt hast ob du die Existenz prüfen kannst, gehe ich davon aus, dass document.form oder auch document.form.textbox nicht existieren könnten und dann führt das obige zu einem Fehler.
        typeof kannst du auch auf Objekte anwenden die nicht existieren (und eben dann 'undefined' sind)

        Struppi.

        1. typeof kannst du auch auf Objekte anwenden die nicht existieren
          (und eben dann 'undefined' sind)

          OK...das formular wäre immer da..
          Aber so habe ich wieder was gelernt !
          Danke nochmal

          Roger