Zufalls-Startwert in einzeiligem Formularfeld

Hallo!

Ich habe auf meiner Homepage eine Suchfunktion in Pearl eingerichtet bekommen. Dazu gehört natürlich auch ein einzeiliges Formularfeld, das zur Eingabe des Suchbegriffs dient.

Ich möchte nun gerne, dass bei jedem neuen Aufruf der Seite dieses Formularfeld mit einem zufälligen Anfangswert bedient wird, der aus einer Liste von 5, max. 10 Begriffen besteht.

Das sollte doch mit JavaScript lösbar sein, oder?
Wäre nett, wenn Ihr mir ein Scriptbeispiel geben könntet

Vielen Dank!
Gerd.

…Zufalls-Startwert in einzeiligem Formularfeld
Dumm di dumm…

hab noch was vergessen…

Der zufällige Anfangswert soll natürlich ein Wort sein, und dieses Wort soll eines von 5 bis max. 10 stück sein, aus denen per Zufall eines ausgewählt wird.
Die entspr. Liste darf dann ruhig entweder in der Seite selbst zu finden sein oder extern in einer separaten Datei…

…sollte einfach lernen, mich richtig auszudrücken
versteht doch sonst keiner… :wink:)

DANKE!
Gerdzilla.

Hi!
Dies ist zwar garantiert nicht die eleganteste Version, die möglich ist, aber diese ist mir gerade eingefallen :smile:

 Scriptbeispiel
 \<!--
 function fillForm()
 {
 var zahl=Math.round(Math.random()\*10);
 alert(zahl); 
 if(zahl == 0)
 zufall="bla0";
 else if(zahl == 1)
 zufall="bla1";
 else if(zahl == 2)
 zufall="bla2";
 else if(zahl == 3)
 zufall="bla3";
 else if(zahl == 4)
 zufall="bla4";
 else if(zahl == 5)
 zufall="bla5";
 else if(zahl == 6)
 zufall="bla6";
 else if(zahl == 7)
 zufall="bla7";
 else if(zahl == 8)
 zufall="bla8";
 else if(zahl == 9)
 zufall="bla9";
 else if(zahl == 10)
 zufall="bla10";
 document.forms[0].zufall.value=zufall;
 } 
 //--\>

Leider hast du hier 11 Möglichkeiten, du kannst die Abfragen aber natürlich nach deinen Wünschen/Bedürfnissen anpassen!
CU
Dennis

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

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

…WILL NICHT…
Hallo!

Erstmal Danke für die Antworten, aber irgendwie krieg ichs leider nicht zusammen. Vielleicht hätte ich dazuschreiben müssen, dass ich von JavaScript fast genauso viel verstehe, wie Heino von Musik (also praktisch nix)…

Bei dem einen Beispiel, naja, sagen wir mal - es war sehr ausführlich, aber zusammensetzen konnt ichs am Ende nicht

Das andere war zwar schon so, dass ichs gebrauchen konnte, nur erscheint bei jedem Seitenaufruf ein Popup-Fenster mit der aktuellen Zufallszahl…

Wäre nett, wenn Ihr Euch das nochmal ansehen könntet. Danke!
GERDZILLA.

Hi,

nun gut, also hier nochmal ein Html-Skelett, wie das aussehen koennte. Gibt mit Sicherheit auch andere Loesungen. Deinen Submit-Button, action, usw. muss natuerlich von Dir selbst ergaenzt werden.

<?xml version="1.0" encoding="UTF-8"?>Titel

<!–

body
{
margin:30px;
background-color:#FFFFFF;
}

–>

<!–

var aryWords = new Array(„Word0“,„Word1“,„Word2“,„Word3“,„Word4“,„Word5“,„Word6“,„Word7“,„Word8“,„Word9“);

function init()
{

var rndIdx = Math.floor(Math.random()*aryWords.length);

window.document.idForm.idTxtBox.value=aryWords[rndIdx];
}

window.onload = init;

//–>