|
< Formulare >
Ein Beispiel für die Überprüfung von Formular-Eingaben mit WMLScript.
WAP-Standard: 1.1+
form.wml
<?xml version="1.0"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN"
"http://www.wapforum.org/DTD/wml_1.1.xml">
<wml>
<card title="Formular">
<p>Eingabe: <br/>
<input name="input"/>
<a href="form.wmls#check('$(input)')">OK</a>
</p>
</card>
</wml>
In die Inputbox soll ein Benutzername o.ä. eingegeben werden, wobei nur die Zeichen a - z und 0 - 9 erlaubt sind.
form.wmls
extern function check(input) {
// Die erlaubten Zeichen
var z = "abcdefghijklmnopqrstuvwxyz0123456789";
// Länge der Eingabe
var length = String.length(input);
// Eingabe war zu kurz oder zu lang
if(length<5) {
Dialogs.alert("Zu kurz !");
Lang.exit("");
}
if(length>8) {
Dialogs.alert("Zu lang !");
Lang.exit("");
}
// Keine Zahl am Anfang erlaubt
if(Lang.isInt(input)==true) {
Dialogs.alert("Keine Zahl am Anfang !");
Lang.exit("");
}
// Jedes Zeichen der Eingabe überprüfen
var i, j;
for(i=0;i<length;i++) {
for(j=0;j<36;j++) {
if(String.charAt(input,i)==String.charAt(z,j)) j=36;
if(j==35 || String.charAt(input,i)==".") {
Dialogs.alert("Nur a-z und 0-9 !");
Lang.exit("");
}
}
}
Dialogs.alert("Eingabe OK !");
WMLBrowser.go("form.wml");
}
Wird keines der Zeichen a - z und 0 - 9 gefunden, wird das Script abgebrochen.
Vielleicht ist Ihnen die Sonderabfrage für den Punkt "." aufgefallen. Dieser wird ansonsten vom Openwave™-Browser (SDK 5.0) seltsamerweise als "0" (Null) identifiziert. (?)
Download Formulare.zip (ca. 1 kb)
Copyright © 2002-2003 by wmlscript.de - Alle Rechte vorbehalten
Impressum | Datenschutz | eMail
|