9.6.1 prompt函数
prompt函数的功能是显示给定的信息并提示用户输入,当用户输入有效的内容后再将用户输入作为结果返回给调用方。该函数的语法格式为:
Dialogs.prompt(message, defaultInput)
它有两个参数,其中message参数是个字符串,它是用户给定的用于显示的信息;defaultInput参数用于接受用户输入,同时它包含了一个初始的数值,如果用户不输入,函数将把该初始值返回,否则,就返回用户的输入值。
如果参数内容不符合WMLScript的要求,则prompt函数返回无效值invalid。
看下面使用prompt函数的简单例子:
var a = "13098762345";
var b = Dialogs.prompt("Phone number: ",a);; &n
bsp; // 如果用户输入了13012348765,则返回结果为b=13012348765
它在浏览器上显示的结果是:Phone number: 13098762345,如果用户想输入新电话号码,则可在现有号码"13098762345"处直接输入,新输入的号码将替换原有的号码,prompt函数在最后还会将新输入的号码返回。
9.6.2 confirm函数
confirm函数用于提供确认功能,它首先显示给定的message参数所包含的信息,并提供两个可选择的回答“ok”和“cancel”,然后等待用户选择其中的一个。如果用户选择“ok”则返回true;否则,如若选择“cancel”则返回false。该函数的语法格式如下:
Dialogs.confirm(message, ok, cancel)
它有3个参数,其中参数message是欲显示的字符串形式的提示信息;参数ok也是用于显示的一个字符串信息,它可以是“OK”,也可以是其他表示OK意义的文本信息,如“I Agree”、“I Like”等等;同样,参数cancel也是用于显示的字符串信息,可以是“Cancel”文本,也可以是其他表示Cancel意义的文本信息。
正常情况下,confirm函数的返回结果是布尔型的true或false。如果用户选择错误或拟显示的信息非法,则函数返回无效值invalid。
下面就是使用confirm函数的简单例子:
function onAbort( ) {
return Dialogs.confirm("Are you sure?", "Yes", "No");
};
它显示的结果是:Are you sure? Yes No
其中的“Yes”、“No”是可以选择的,且confirm函数将根据用户选择的结果返回true或false。
9.6.3 alert函数
alert函数的功能是显示给定的message信息给用户,并等待用户的确认,最后返回空字符串作为结束。其语法格式为:
Dialogs.alert(message)
如果用户操作错误或浏览器显示有问题,则alert函数会返回无效值invalid。
下面就是使用alert函数的简单例子:
function testValue(textElement) {
if (String.length(textElement) > 8) {
Dialogs.alert("Enter name < 8 chars!");
};
};
它的作用是,对用户输入名字的长度进行判断,该名字存放在变量textElement中。如果多于8个字符,则使用alert函数显示输入名字必须少于8个字符的信息:"Enter name < 8 chars!"。
9.7 WMLScript非标准库及其库函数
以上各节我们介绍的都是WMLScript的标准库函数,事实上,WMLScript还有一些非标准库函数。这些函数通常是由不同的WAP设备厂家制定并提供的,而且因厂家不同而不同,所以称为“非标准”的库函数。例如,Nokia提供了Debug库函数,Phone.com提供了Console库函数,等等。虽然这些库的名称不同,但涉及的功能函数却是基本一致的,它们主要是为用户操作提供一些辅助功能。下面我们就以Debug库为例介绍3个比较典型的非标准库函数。
9.7.1 openFile函数
openFile函数的功能是为文件读、写或追加等操作而打开一个文件。它的语法格式为:
Debug.openFile (fileName, mode)
它有两个参数,其中fileName参数通常以字符串的形式来指定要打开的文件名,可以包含文件所在的路径名称;mode参数用于指定打开文件后的操作方式,共3种选择:"r"指定打开的文件用于读操作,"w"指定文件用于写操作,"a"指定文件用于追加操作。
正常情况下,openFile函数的返回结果为空字符串。如果指定的文件不存在,或文件的操作方式不对,或文件无法操作,那么openFile函数都会返回无效值invalid。
如果给定的fileName和mode参数值的形式不是字符串形式,那么openFile函数也会返回无效值invalid。
下面就是使用openFile函数打开指定文件并进行不同操作的例子:
Debug.openFile("c//tmp//script.debug", "r");
Debug.openFile("c://tmp//debug", "a"):
9.7.2 closeFile函数
openFile函数用于打开文件,当对文件操作完毕后必须关闭文件,否则就会引起文件处理错误甚至破坏文件,那么如何关闭文件呢?方法就是使用closeFile函数。该函数没有参数,它用于关闭当前打开的文件,语法格式为:
Debug.closeFile ( )
它的返回值为空字符串。下述语句就是使用closeFile函数关闭当前文件的例子:
Debug.openFile("c//tmp//script.debug", "r");
…………(其他语句)
Debug.closeFile ( );
……
Debug.openFile("c://tmp//debug", "a"):
…………(其他语句)
Debug.closeFile ( );
9.7.3 println函数
println函数用于输出给定的字符串string中的信息。如果当前系统中存在由openFile函数打开的文件,则println函数将该信息直接写入这一打开的文件;否则,println函数就将该信息送往标准的输出设备,如显示器、打印机等,然后再由这些设备输出给用户。该函数的语法格式如下:
Debug.println(string)
如果给定的string信息能够正常输出,则println函数返回一个空字符串;否则,如若输出信息类型不符合要求,或当前系统中不存在合法的打开文件或输出设备,则println函数返回无效值invalid。
下述语句就可以利用println函数向当前打开的文件或输出设备中输出指定的信息:
Debug.println("Function f1 ENTRY ..."); // 输出"Function f1 ENTRY ..."
Debug.println("Function f1 EXIT ..."); // 输出"Function f1 EXIT ..."