<script language="JavaScript"> var ergebnistext=prompt("Wie heißen Sie?",""); if(ergebnistext==""||ergebnistext==null) history.back(); else alert("Hallo, "+ ergebnistext); </script> |
Sinnvolle(?) Anwendungen dieser Eingabemöglichkeit wäre etwa die Personalisierung, also Anrede des Lesers mit dem Namen. Wie sie wahrscheinlich hier oben im Text sehen können, funktioniert das höchst unzureichend. Auch das Erfragen eines Paßworts, das den Seitenzugang auf einen bestimmten Personenkreis beschränkt, hat nur mäßigen Sinn. Mit JavaScript allein läßt sich der richtige Wert nur unzureichend verstecken.
<script language="JavaScript"> function auswert() { if (document.form5.namensfeld.value=="Name?") alert("Faulheit wird bestraft werden!"); else alert("ok " + document.form5.namensfeld.value + "!"); } </script> <form name="form5"> |
Textfeld und Button werden wie üblich angelegt, der Button wertet das Ereignis aus, daß er angeklickt wird.
<form name="show"> <textarea name="board" cols=30 rows=10 wrap="virtual"></textarea> <input type=button value="fertig" onClick="alert(document.show.board.value)"> </form> |
Bitte den Lebenslauf eintippen:
Die Listbox, auch Listenfeld oder Auswahlfeld genannt, ermöglicht zwar keine direkte Nutzereingabe, sie gehört aber hierher, weil sie die Auswahl unter angebotenen Möglichkeiten bietet. Sie hat in HTML eigene Tags, in Kurzform <select ...><option...></select>. Mit JavaScript gibt es Eingriffsmöglichkeiten, mit denen ein Listenfeld nachträglich manipuliert werden kann.
Mit geringem Aufwand und sicherer Funktion in allen Browsern lassen sich platzsparende Menüs oder Stichwortlisten für Suchhilfen anlegen.
Hier sollen nur die grundsätzlichen Zugriffsmöglichkeiten kurz aufgelistet werden. Zunächst der HTML-Aufruf, der Voraussetzung für weitere Eingriffe ist:
<form name="list"> <select name="wahl" onChange="auswahl()"> <option>Überschrift <option value="eins">Erster <option value="zwei">Zweiter <option value="drei">Dritter <option value="vier">Vierter <option value="fünf">Fünfter </select> </form> |
Die Auswertungsfunktion, die hier auswahl() heißt, und nur das Ergebnis anzeigt, bedarf genauerer Betrachtung. Hier lautet sie
function auswahl() { num=window.document.list.wahl.selectedIndex; if(num>0)alert(window.document.list.wahl.options[num].value); } |
Man sieht, der Zugriff erfolgte unter Nutzung meiner Namen für Formular (=list) und Auswahlfeld (=wahl). Nur bei den Options, die ja auch eigene Namen besitzen, wurde anders verfahren. Alle Seitenelemente sind über innere Arrays zugänglich, hier wären das forms[i], elements[j], options[k], sofern man nur die passenden Zählerwerte kennt.
Mögliche Zugriffe auf Auswahlfelder, bei denen Werte erfragt oder gesetzt werden sind:
defaultSelected | Vorauswahl einer Option erfragen oder setzen (hier Option 0) | |
length | Zahl der Options | |
selected | ist eine Option gewählt? Hier wird Option 0 abgefragt | |
selectedIndex | Nummer der gewählten Option | |
text | Text der gewählten Option (hier Option 4) | |
value | Wert (=value) der gewählten Option (hier Option 4) |
<script> window.document.list.wahl.options[3].text="Hier ist jetzt der Dritte!" ; window.document.list.wahl.options[2]=null window.document.list.wahl.options[5]=new Option; window.document.list.wahl.options[5].text="Sechster" </script> |
Dieses Script wird unmittelbar nach Aufbau des obigen Auswahlfeldes aufgerufen und bewirkt Veränderungen, die in der Tabelle, die erst danach angelegt wird, für scheinbare Unstimmigkeiten sorgen.
bbb