Hallo Bernhard,
jetzt schauen wir uns mal an, was hier passiert:
Du erzeugst ein Array, das vier Werte enthalten kann:
var seiten = new Array(4); // Anzahl der Seiten
function werte(element){
Hier liest Du drei Zahlen- (?) Werte aus einem Formular:
var punkt = document.form1.punkt_position.value; // Punkt, den der User grade ausgewählt hat
var seiteJ = document.form1.gewaehlte_seite.value; // gerade ausgewählte Seite
var punktZahl = document.form1.punkt_anzahl.value; // die Anzahl der Punkt auf eine Seite
Und jetzt wird's interessant:
for(var i=0; i<punktZahl; i++){
seiten[(seiteJ-1)] = new Array(i);
}
}
Nehmen wir der Einfachheit halber mal an, wir befinden und auf Seite 2 und diese Seite hat 3 Punkte.
Dann macht die obige Schleife folgendes:
i=0 -> Im zweiten Element des Arrays seiten (seiten[1]) wird ein neues Array mit 0 Elementen gespeichert
i=1 -> Im zweiten Element des Arrays seiten (seiten[1]) wird ein neues Array mit 1 Element gespeichert
i=2 -> Im zweiten Element des Arrays seiten (seiten[1]) wird ein neues Array mit 2 Elementen gespeichert
Ergebnis:
Das erste Element des Arrays seiten (seiten[0]) ist leer.
Das zweite Element des Arrays seiten (seiten[1]) enthält ein Array mit zwei (leeren) Elementen.
Das dritte Element des Arrays seiten (seiten[2]) ist leer.
Das vierte Element des Arrays seiten (seiten[3]) ist leer.
Leider ohne Erfolg :-( Versuche ich es mit:
seiten[(seiteJ-1)][1] = new Array(i);
Was ich immer noch nicht so ganz verstehe ist, warum Du weitere Arrays erzeugst, aber nirgendwo Werte in diesen Arrays speicherst.
Mein Gedankengang, die Variable "seite" bekommt die Anzahl der Seiten, danach lasse ich in der Funktion werte() eine for Schleife ablaufen mit der Anzahl der Punkte, die auf eine Seite existieren. Also die Seite eins hat fünf Punkt, die fünf Punkte möchte ich an die erste Stelle ins Array "seite" reinschreiben, wie ich das jetzt mache ist es eindeutig falsch :-(((( wie muss ich das machen mit ein Schleife, so dass der Array "seite" später so aussieht:
seite[0][1]
seite[0][2]
seite[0][3]
seite[0][4]
seite[0][5]
???
Ich nehme mal an, das soll seiten heissen, und nicht seite. Mit
seite[0] = new Array(punktZahl)
erreichst Du doch genau das. Allerdings ist dieses Array dann noch leer und muß mit Werten gefüllt werden.
In Deinen Bsp:
[...]
hinten ebenfalls ein runde Klammer.
Stimmt. War ein Tippfehler.
Grüße
Andreas
Hier könnte Ihre Werbung stehen.