christian p.: wo liegt der fehler ?

var sel=0;
     for(var i=0; i<10; i++) {
       if (marked_row[i] == true){
       //alert(['list_all' + i]);
       sel+=document.['list_all' + i].ort_upd.value;
       }  //ende if
      with(document.update_more.selected_rows){
      value = sel;
      } //ende with
     }//ende for

der obige code gibt mir einen fehler aus, bzw. garnichts.
problematisch ist die zeile :
sel+=document.['list_all' + i].ort_upd.value;

wenn ich die zeile auskommentiere und anstatt das alert wieder ausgebe funktioniert alles :/

dank im vorraus

  1. hallö,

    was hälst du davon, uns vollends in den genuss deines scripts zu bringen?

    problematisch ist die zeile :
    sel+=document.['list_all' + i].ort_upd.value;

    wenn ich die zeile auskommentiere und anstatt das alert wieder ausgebe funktioniert alles :/

    das brint mich auf die idee, dass ort_upd fehlerhaft ist. muss abba nich...

    grüße aus Leipzig
    willie.de

    --
    sh:( fo:| ch:? rl:° br:> n4:# ie:% mo:) ls:# va:} de:] zu:) fl:( js:| ss:(
    http://peter.in-berlin.de/projekte/selfcode/
    1. hallö,

      was hälst du davon, uns vollends in den genuss deines scripts zu bringen?

      problematisch ist die zeile :
      sel+=document.['list_all' + i].ort_upd.value;

      wenn ich die zeile auskommentiere und anstatt das alert wieder ausgebe funktioniert alles :/

      das brint mich auf die idee, dass ort_upd fehlerhaft ist. muss abba nich...

      grüße aus Leipzig
      willie.de

      viel mehr als die funktion ist das nicht in dem array marked_row wird gespeichert welche zeile markiert ist.
      prinzipiell soll es nachher ca. so aussehen
      sel+=document.list_all0.ort_upd.value;
      sel+=document.list_all1.ort_upd.value;

      aber ich kann die zeilen auch nicht vorher defenieren da das formular dynamisch mit php erstellt wird. wenn ich in klartext die zeile hinschreibe denn funktiert auch das auslesen nur
      .['list_all' + i]. scheint nicht zu gehen. ich frag mich nur wieso die ausgabe ist ja richtig wenn ich selbiges mit alert ausgebe.

      1. hallö nochma,

        viel mehr als die funktion ist das nicht in dem array marked_row wird gespeichert welche zeile markiert ist.
        aber ich kann die zeilen auch nicht vorher defenieren da das formular dynamisch mit php erstellt wird. wenn ich in klartext die zeile hinschreibe denn funktiert auch das auslesen nur

        muss das script vielleicht _nach_ den zeilen, auf die es sich bezieht stehen?

        .['list_all' + i]. scheint nicht zu gehen. ich frag mich nur wieso die ausgabe ist ja richtig wenn ich selbiges mit alert ausgebe.

        wenn alert funxt, existiert die variable ja wohl. alert-ed er dir den 'ort_upd'?

        grüße aus Leipzig
        willie.de

        --
        sh:( fo:| ch:? rl:° br:> n4:# ie:% mo:) ls:# va:} de:] zu:) fl:( js:| ss:(
        http://peter.in-berlin.de/projekte/selfcode/
        1. hallö nochma,

          viel mehr als die funktion ist das nicht in dem array marked_row wird gespeichert welche zeile markiert ist.
          aber ich kann die zeilen auch nicht vorher defenieren da das formular dynamisch mit php erstellt wird. wenn ich in klartext die zeile hinschreibe denn funktiert auch das auslesen nur
          muss das script vielleicht _nach_ den zeilen, auf die es sich bezieht stehen?

          .['list_all' + i]. scheint nicht zu gehen. ich frag mich nur wieso die ausgabe ist ja richtig wenn ich selbiges mit alert ausgebe.
          wenn alert funxt, existiert die variable ja wohl. alert-ed er dir den 'ort_upd'?

          grüße aus Leipzig
          willie.de

          das funktioniert:
          alert(document.list_all0.ort_upd.value);

          das wiederum nicht:
          alert(document.['list_all' + i].ort_upd.value);

          anscheinend wird ['list_all' + i] als objekt behandelt, sprich es wird garnicht 'übersetzt' und verarbeitet und das hingeschrieben wie es sein 'sollte'

          1. Hallo Christian,

            vielleicht mal den . zwischen document und [ weglassen ...?

            Gregor

            1. Hallo Christian,

              vielleicht mal den . zwischen document und [ weglassen ...?

              Gregor

              Hallo Gregor

              danke ,dass hat echt funktioniert, jetzt verrate mir aber mal wieso ?

              1. Noch mal Hi, Christian,

                Du wolltest eine Eigenschaft des Objekts document ansprechen -
                in diesem Fall offenbar ein Unterobjekt, ich nehme an ein
                HTML-Formular.

                Objekteigenschaften werden üblicherweise mit der Syntax
                "Objekt.Eigenschaft" angesprochen. Wenn Du aber das Objekt nicht
                statisch im Quellcode haben willst, sondern "flexibel" sein mußt

                • weil Du in einer Function z.B. verschiedene Eigenschaften des
                  Objekts ansprechen willst - dann bietet JavaScript die Möglichkeit,
                  die Eigenschaften (und sogar die Methoden, also Sub-Funktionen!)
                  des Objekts wie die Felder eines assoziativen Arrays anzusprechen.
                  (Ein assoziatives Array ist ein Array, dessen Felder nicht numeriert
                  sondern benannt sind). Assoziative Arrays haben die Syntax
                  "ArrayName['FeldName']" . Umgekehrt kann man assoz. Arrays wie
                  Objekteigenschaften ansprechen (also: "ArrayName.FeldName").

                Merke: Man macht es entweder auf die eine ODER auf die andere
                Tour, aber NIEMALS beides gleichzeitig - das ist syntaktischer
                Nonsens (ich neheme an, Du hast bemerkt, dass das Dein Fehler
                war)!

                O.K. - Gregors kleine Lehrstunde ist hiermit beendet  :-))

                Noch viel Erfolg beim Basteln!

                Gregor

                1. hallö Gregor,

                  ebenfalls _danke_ für die kleine lehrstunde! dass es manchmal so einfach ist...

                  grüße aus Leipzig
                  willie.de

                  --
                  sh:( fo:| ch:? rl:° br:> n4:# ie:% mo:) ls:# va:} de:] zu:) fl:( js:| ss:(
                  http://peter.in-berlin.de/projekte/selfcode/
  2. der obige code gibt mir einen fehler aus, bzw. garnichts.
    problematisch ist die zeile :
    sel+=document.['list_all' + i].ort_upd.value;

    Der Punkt ist zuvile und was ist documnet[list_allX]?
    ein Formular?

    Ohne genaue Kenntnisse über deine Formulare bzw. dein Dokument ist Hilfe nicht möglich

    Struppi.