Enrico: Objekt erwartet

Hallo,

In meinem Javascript bekomme ich beim Ausfüren die Fehlermeldung, dass ein Objekt erwartet wird.

Meistens handelt es sich dann um fehlerhafte Variablen-Deklarationen.

Ich vermute, dass sich der Fehler in der nachfolgenden Array-Erzeugung befindet:

var err_erlaubt_text    = new Array();
    err_erlaubt_text[0] = ("Grossbuchstaben","Kleinbuchstaben",...);

In  SELFHTML wird ein Array folgendermassen angelegt:

Objektname = new Array(Element0, Element1, ..., element_n);

Wenn ich aber das Array err_erlaubt_text[0] um die Anweisung "new Array" ergänze, dann bekomme ich ja ein 2-dimensionales Array, was nicht sein soll.

Was stimmt nicht ?

Gruss, Enrico

  1. Hi,

    Wenn ich aber das Array err_erlaubt_text[0] um die Anweisung "new Array" ergänze, dann bekomme ich ja ein 2-dimensionales Array, was nicht sein soll.

    was immer Du in err_erlaubt_text[0] speicherst, befindet sich _nur_ darin, und unter keinen Umständen z.B. in err_erlaubt_text[1].

    Was stimmt nicht ?

    Die innere Ruhe beim Herangehen an das Problem.

    Cheatah

    --
    X-Will-Answer-Email: No
    X-Please-Search-Archive-First: Absolutely Yes
    1. Hallo cheatah,

      um Missverständnissen vorzubeugen, hier mal die kommpletten Deklarationen:

      var laenge_min    = new Array();
          laenge_min[0] = 3;
          laenge_min[1] = 6;
          laenge_min[2] = 5;
          laenge_min[3] = 3;

      var laenge_max    = new Array();
          laenge_max[0] = 20;
          laenge_max[1] = 63;
          laenge_max[2] = 20;
          laenge_max[3] = 800;

      var err_fehlermeldung_kurz = new Array();

      for (var i = 0; i < 4; i++)
        err_fehlermeldung_kurz[i] = new Array();

      var err_fehlermeldung_lang = new Array();

      for (var i = 0; i < 4; i++)
        err_fehlermeldung_lang[i] = new Array();

      err_fehlermeldung_kurz[0][0]  = "Name fehlt";
      err_fehlermeldung_kurz[0][1]  = "Name zu kurz";
      err_fehlermeldung_kurz[0][2]  = "Name zu lang";
      err_fehlermeldung_kurz[0][3]  = "Ungültige(s) Zeichen im Namen";

      err_fehlermeldung_kurz[1][0]  = "eMail-Adresse fehlt";
      err_fehlermeldung_kurz[1][1]  = "eMail-Adresse zu kurz";
      err_fehlermeldung_kurz[1][2]  = "eMail-Adresse zu lang";
      err_fehlermeldung_kurz[1][3]  = "Ungültige(s) Zeichen im Usernamen";
      err_fehlermeldung_kurz[1][4]  = "eMail-Addresse ungültig"

      err_fehlermeldung_kurz[2][0]  = "Homepage-Adresse fehlt";
      err_fehlermeldung_kurz[2][1]  = "Homepage-Adresse zu kurz";
      err_fehlermeldung_kurz[2][2]  = "Homepage-Adresse zu lang";
      err_fehlermeldung_kurz[2][3]  = "Ungültige(s) Zeichen in Homepage-Adresse";

      err_fehlermeldung_kurz[3][0]  = "Kommentar fehlt";
      err_fehlermeldung_kurz[3][1]  = "Kommentar zu kurz";
      err_fehlermeldung_kurz[3][2]  = "Kommentar zu lang";
      err_fehlermeldung_kurz[3][3]  = "Ungültige(s) Zeichen im Kommentar";

      var buchstaben = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
      var ziffern    = "0123456789";

      var err_erlaubt_muster    = new Array();
          err_erlaubt_muster[0] = buchstaben + " ";
          err_erlaubt_muster[1] = buchstaben + ziffern + "-_@.";
          err_erlaubt_muster[2] = buchstaben + ziffern + "-\";
          err_erlaubt_muster[3] = buchstaben + ziffern + ",.-()!?\";

      var err_erlaubt_text    = new Array();
          err_erlaubt_text[0] = ("Grossbuchstaben","Kleinbuchstaben","Leerzeichen");
          err_erlaubt_text[1] = ("Grossbuchstaben","Kleinbuchstaben","Ziffern","Punkt","Zeichen @","Bindestrich","Unterstrich");
          err_erlaubt_text[2] = ("Grossbuchstaben","Kleinbuchstaben","Umlaute","Ziffern","Bindestrich","Weitere Buchstaben <a href='HTML_weitere_erweiterung_email.html' target='_blank'><img border='0' src='hp/pic/nav/N_verzweigung.png' width='9' height='9'></a>");
          err_erlaubt_text[3] = ("Grossbuchstaben","Kleinbuchstaben","Ziffern","Punkt","Doppelte Anführungszeichen","runde Klammern","Komma","Bindestrich","Unterstrich","Ausrufezeichen","Fragezeichen");

      var err_tab_erlaubt = new Array();

      for (var i = 0; i < 4; i++)
      {
        err_tab_erlaubt[i] = "... Tabellenaufbau ...";

      for (var j = 0; j < err_erlaubt_text[i].length; j++)
        {
          err_tab_erlaubt[i] += "... Ergänzung um erlaubte Zeichen in Textform ...";
      }

      err_tab_erlaubt[i] += "... Tabellenabschluss ...";
      }

      var pflichtfeld     = "Du musst dieses Pflichtfeld ausfüllen.";
      var eingabe_min_anf = "Deine Eingabe muss mindestens ";
      var eingabe_max_anf = "Deine Eingabe darf maximal ";
      var eingabe_std     = " Zeichen lang sein.";

      for (var i = 0; i < 4; i++)
      {
        err_fehlermeldung_lang[i][0] = pflichtfeld;
        err_fehlermeldung_lang[i][1] = eingabe_min_anf + laenge_min[0] + eingabe_std;
        err_fehlermeldung_lang[i][2] = eingabe_max_anf + laenge_max[0] + eingabe_std;
        err_fehlermeldung_lang[i][3] = err_tab_erlaubt[i];
      }

      Gruss, Enrico

      1. Hi,

        um Missverständnissen vorzubeugen, hier mal die kommpletten Deklarationen:

        wenn ich das richtig verstehe, dann _willst_ Du ein zweidimensionales Array haben - Deine ursprüngliche Formulierung hatte ich genau anders herum verstanden. Nun, wenn Du weißt, wie man ein Array erzeugt, warum tust Du es dann nicht einfach?

        Cheatah

        --
        X-Will-Answer-Email: No
        X-Please-Search-Archive-First: Absolutely Yes