Hallo,
also ich wuerde das bischen eleganter machen, ist aber Geschmackssache:
Gehen wir davon aus, es sind 10 Woerter per Zufall usw. blablabla.
Warum nicht ueber ein Array?
var aryWoerter = new Array(„Wort0“,„Wort1“,„Wort2“,„Wort3“,„Wort4“,„Wort5“,„Wort6“,„Wort7“,„Wort8“,„Wort9“);
Du kannst das Array aber auch so initialisieren wenn Du lustig bist:
var aryWoerter = new Array();
aryWoerter[0] = „Wort0“;
aryWoerter[1] = „Wort1“;
aryWoerter[2] = „Wort2“;
aryWoerter[3] = „Wort3“;
aryWoerter[4] = „Wort4“;
aryWoerter[5] = „Wort5“;
aryWoerter[6] = „Wort6“;
aryWoerter[7] = „Wort7“;
aryWoerter[8] = „Wort8“;
aryWoerter[9] = „Wort9“;
Bemerkung nebenbei:
Mittlerweile gibt es unterschiedliche JavaScript-Engines (je nach Browser-Version),
die „new Array(10)“ entweder als Array mit 10 Elementen (mit noch nix drin) interpretieren oder als ein Array mit nur einem Element, dessen Wert 10 ist - betrachten.
Per Zufall bestimmen wir nun ein einen Index:
var rndIndex = Math.floor(Math.random()*aryWoerter.length);
und dann wie schon angesprochen:
window.document.forms[0].zufall.value=aryWoerter[rndIndex];
Bemerkung nebenbei:
Wenn ich eine banze Zahl zwischen 0 und 13 per Zufall z.B. bestimmen moechte, dann ist die korrekte Loesung (aber nicht die einzig moegliche) folgende:
var zahl = 13;
var wert = Math.floor(Math.random()*(zahl+1));
„zahl+1“ muss deshalb stehen weil random() zwischen 0…0.9999999 liegt, also koennte ich 13 nie erreichen. Das korrigiere ich aber mit floor(). Bei aryWoerter.length ist das schon drin, da die laenge des Feldes immer um 1 groesser ist als der maximal Index.
BYE