Javascript Funkion dynamisch aufrufen
Danilo
- javascript
0 Gunnar Bittersmann0 EKKi0 Danilo
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
@@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
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
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
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
@@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