Hallo,
Wie kann ich eine Seite mit einem Formular erstellen, die durch die Eingabe eines bestimmten Wortes eine Bestimmte URL aufruft. Wichtig: Nicht durch ein externes JS-Fenster, sondern durch ein Texteingabefeld in einem Formular, z.B. flo = hallo.html, john = bye.html, usw. ?
<by the way> Was meinst Du mit externes JS-Fenster? </by the way>
Mmh, soll dieses Wort, das man eingeben soll, wirklich den Character eines Passwortes haben (wie im Subject angedeutet) oder schlicht und einfach eine eigenwillige Form eines Hyperlinks darstellen? Im ersten Fall lass Dir gesagt sein, alles was Du mit JS machst ist nicht sicher und laesst sich ganz leicht umgehen.
In einem Form mache man also ein Eingabefeld:
<INPUT TYPE=PASSWORD NAME="passwd"> (siehe auch <../../tchb.htm>)
Im FORM-Tag gibst Du einen OnSubmit-Eventhandler an, der auf eine Routine zeigt, die das eingegebene Wort abcheckt und die Page entsprechend wechselt:
<FORM NAME="ForwardForm" OnSubmit="ForwardMe();">
Die Routine selbst sieht so irgendwie aus:
function ForwardMe() {
switch(document.ForwardForm.passwd.value) {
case "flo": window.location.href = "hallo.html"; break;
case "john": window.location.href = "bye.html"; break;
default: alert("Dummkopf!");
}
}
Noch einfacher ist es, wenn Du die einzugebenden Woerter so waehlst, dass man den neuen Dateinamen einfach daraus bilden kann, also ungefaehr
window.location.href = document.ForwardForm.passwd.value + ".html; oder sowas. Aber hier siehst Du deutlich, wo das hinfuehrt: Eigentlich koennte man das "Geheimwort" auch in Form eines Dateinamen in die Addresszeile des Browsers eingeben. Das waere sogar sicherer, denn waehrend man sich bei der Variante mit der Forward-Funktion nur den Code anschauen muss, um zu wissen, welche "Geheimseiten" ueberhaupt verfuegbar sind, bleibt diese Information ungebetenen Besuchern hier vorenthalten.
Calocybe