Danilo: Javascript Funkion dynamisch aufrufen

Hallo

Ich möchte eine Javascript funktion dynamisch aufrufen. Ich habe mehrere Tabellenzellen die ich in einer Schleife auslesen will.

var empty = false;
var row = 1;
while (empty=false) {
  if (document.artistform.artistX.value != "") {
    alert(document.artistform.artistX.value);
  } else {
    empty=true;
  }
  row++;
}

Ich habs im Moment so gelöst. Jedoch sollte bei jedem Durchlauf im Funktionsaufruf anstatt dem X in artistX die Nummer der aktuellen Zeile stehen, also artist1, artist2, etc...

Wie ist das möglich?

Danke schonmal im Voraus

  1. @@Danilo:

    Jedoch sollte bei jedem Durchlauf im Funktionsaufruf anstatt dem X in artistX die Nummer der aktuellen Zeile stehen, also artist1, artist2, etc...

    Wie ist das möglich?

    Mit Schema 4.

    Live long and prosper,
    Gunnar

    --
    „Das Internet ist ein großer Misthaufen, in dem man allerdings auch kleine Schätze und Perlen finden kann.“ (Joseph Weizenbaum)
  2. Mahlzeit,

    while (empty=false) {

    Hier weist Du der Variablen "empty" den Wert false zu - und zwar jedesmal, wenn die Schleife durchlaufen wird. Das Ergebnis dieser Zuweisung ist immer true. Vielleicht möchtest Du eher <http://de.selfhtml.org/javascript/sprache/operatoren.htm#vergleich@title=auf Gleichheit prüfen>?

    if (document.artistform.artistX.value != "") {

    Man kann auf alle Formulare innerhalb eines Dokuments auch <http://de.selfhtml.org/javascript/objekte/forms.htm#allgemeines@title=sinnvoller zugreifen>. Ebenso natürlich auch auf die einzelnen http://de.selfhtml.org/javascript/objekte/elements.htm#allgemeines@title=Elemente jedes Formulars. Ich selbst bin absolut kein Fan der von Dir gewählten Weise: auch wenn der Zugriff per "document.forms['formname']" ein klitzekleines Bisschen mehr Schreibarbeit erfordert - sie hat einen entscheidenen Vorteil: man kann statt des festen Strings jederzeit auch eine Variable benutzen.

    MfG,
    EKKi

    --
    sh:( fo:| ch:? rl:( br:> n4:~ ie:% mo:} va:) de:] zu:) fl:{ ss:) ls:& js:|
    1. Danke für die Antworten

      while (empty=false) {

      Hier weist Du der Variablen "empty" den Wert false zu - und zwar jedesmal, wenn die Schleife durchlaufen wird. Das Ergebnis dieser Zuweisung ist immer true.

      Das habe ich vorhin auch grad bemerkt, liegt wohl daran dass ich öfters vbscript benutze, und da ist (unidealerweise) der Vergleichsoperator ein einzelnes "=".

      Ich selbst bin absolut kein Fan der von Dir gewählten Weise: auch wenn der Zugriff per "document.forms['formname']" ein klitzekleines Bisschen mehr Schreibarbeit erfordert - sie hat einen entscheidenen Vorteil: man kann statt des festen Strings jederzeit auch eine Variable benutzen.

      Ich benutze Javascript noch nicht lange, und habe erst heute angefangen Javascript für HTML-Manupulation zu verwenden, daher waren mir die verschiedenen Methoden noch nicht bekannt. Danke für den Tipp, jetzt funktionierts wunderbar.

      Danke auch @Gunnar für die prompte Antwort :)

      Cheers
      Danilo

      1. Hallo,

        while (empty=false) {

        Hier weist Du der Variablen "empty" den Wert false zu - und zwar jedesmal, wenn die Schleife durchlaufen wird. Das Ergebnis dieser Zuweisung ist immer true.

        Das habe ich vorhin auch grad bemerkt

        Tatsächlich? Stimmt aber gar nicht. Das Ergebnis einer Zuweisung ist nicht immer true, sondern immer der zugewiesene Wert, in diesem Fall also immer false, so dass die Schleife gar nie durchlaufen wird, da die Zeile soviel bedeuetet wie
        while (false) {...

        Gruß, Don P

      2. @@Danilo:

        while (empty=false) {

        vbscript [...], und da ist (unidealerweise) der Vergleichsoperator ein einzelnes "=".

        Wobei ein Vergleich hier überflüssig ist.

        In natürlicher Sprache sagst du ja auch nicht "solange wie es zutrifft, dass nichts im Topf ist", sondern eher "solange nichts im Topf ist":

        while (!empty)

        Live long and prosper,
        Gunnar

        --
        „Das Internet ist ein großer Misthaufen, in dem man allerdings auch kleine Schätze und Perlen finden kann.“ (Joseph Weizenbaum)