
alert, prompt und
confirm
prompt()
Vererbung
alert,
prompt und confirm |
|
Es gibt drei spezielle Fenster in JavaScript,
das allseits bekannte alert Fenster, das prompt Fenster, bei
dem der User eine Eingabe machen kann, die man dann abfangen
und auswerten kann und das confirm Fenster, wo der User aufgefordert
wird, irgendeiner Aktion zuzustimmen, wobei es programmtechnisch
eigentlich egal ist, ob er zustimmt oder nicht. Auf das alert
Fenster wird hier nicht weiter eingegangen, es wird schon
überall in diesem Handbuch verwendet, so dass seine Funktionsweise
klar sein dürfte.
Wem nicht richitg klar ist, von was die Rede
ist, der kann hier
clicken. Der Skript, der dieses Spektakel produziert ist simpel
und sieht so aus.
<HTML><HEAD>
<TITLE>Antiautoritaerer Charakter</TITLE>
<META http-equiv=Content-Type content="text/html;
charset=windows-1252">
<SCRIPT language=JavaScript>
function testen ()
{
Eingabe=prompt(" Nun sei mal ein Schatz und gib hier
unten Banane ein","");
if (Eingabe == "Banane")
{
alert("So ist brav, immer machen was Papa sagt")
}
else
{
alert ("Kleiner Frechdachs hat immer seinen eigenen Kopf
was. Banane solltest du eingeben und nicht " + Eingabe);
}
}
</SCRIPT>
</HEAD>
<BODY onload=testen();>
<CENTER><FONT color=red size=8>Do what you are
supposed to
do</FONT></CENTER>
</BODY>
</HTML>
Wie deutlich zu sehen, gibt es dazu nicht
viel zu sagen. Die Funktion prompt(), die das Fenster produziert,
hat zwei Parameter. Der erste Zeigt an, was in der Box steht,
und der zweite, was in dem Textfeld steht, in diesem Beispiel
steht da nichts, so dass es leer ist. Praktisch an dieser
Funktion ist die Tatsache, dass die Funktion prompt() die
Usereingaben zurückliefert, in unserem Falle an die Variable
Eingabe. Dies erlaubt es uns, die oben stehende if else Bedingung
zu formulieren und je nach Eingaben des Users unterschiedliche
Rückgaben zu liefern.
Auch hier gilt, dass alle diejenigen,
denen nicht klar ist, von was die Rede ist, mal zuerst
hier clicken.
Alles klar ? Je nachdem ob man ja clickt oder nein wird man
auf eine andere Seite weitergeleitet. Der Skript der uns das
vorsetzt, sieht so aus.
<html><head><title>confirm</title></head>
<script language="JavaScript">
function janein ()
{
zeigen=confirm("Wollen Sie mehr über Liebe erfahren");
if (zeigen==true)
{
location="liebe.htm";
}
else
{
window.open("liebe2.htm")
}
}
</script>
<body onload=janein()> <br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
<center><font color=red size=6>Love is all you
need ratatata, ratatata</font></center>
</body>
</html>
Auch dieser Skript ist von bestechender
simplen Einfalt und stillen Größe. Die Funktion
confirm() hat einen Parameter, nämlich der Text, der
in dem confirm Fenster aufgeblendet wird. Bestätigt der
User mit "ja", dann hat diese Funktion den Wert
true, andernfalls false. Da dem aber so ist, kann der Programmierer
natürlich auch bei beiden Varianten die gleichen Routinen
in Marsch setzen. Die Problematik wurde ja schon im Zusammenhang
mit den Dialern diskutiert, die ungewollt einen neue, sehr
teure, Verbindung ins Netz aufbauen. Die User wurden zwar
gefragt, aber unabhängig davon was angeclickt wurde,
startete der download (Man könnte anstatt auf zwei harmlose
html Seiten weiterzuleiten auch einen download starten. Wenn
dann der User nicht aufpasst, und in dem dann aufpoppenden
Fenster den download bestätigt, lädt er sich unter
Umständen unfreiwillig den dialer).
|
 |