in

SDT Community Server

SDT Forums, Blogs, Photos server.

Coolboy

prompt函数, confirm函数, alert函数

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 ..."



Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=586944

Comments

 

Coolboy said:

把焦点放在NO上

<script language=javascript><!--

/*@cc_on @*/

/*@if (@_win32 && @_jscript_version>=5)

function window.confirm(str)

{

   execScript("n = msgbox('"+ str +"', 257, '自定的的 confirm')", "vbscript");

   return(n == 1);

}

@end @*/

alert(confirm("重载的confirm弹出框, 焦点在取消上"));

// --></script>

February 24, 2007 2:17 PM
 

Coolboy said:

还是这样?

<script>

window.confirm=function(str)

{

var html="\

<div align='center'>\

<div style='border:2px outset buttonlight;background:buttonface;width:400px;height:100px;'>\

<div style='height:20px;background:highlight;font:caption;color:white;padding:2 0 0 10;text-align:left;'>blueDestiny confirm:</div>\

"+str+"\

<div><INPUT TYPE='radio' NAME=''><INPUT TYPE='radio' NAME=''></div>\

<div style='padding:20px;'><input type='button' onclick='alert(\"yes\")' value='YES'> <input type='button' onclick='alert(\"no\")' value='N O'></div>\

</div></div>\

"

document.write(html);

}

confirm("blueDestiny,never-online")

</script>

February 24, 2007 2:17 PM
 

Coolboy said:

<script language=javascript><!--

/*@cc_on @*/

/*@if (@_win32 && @_jscript_version>=5)

function window.confirm(str)

{

 execScript("n = (msgbox('"+ str +"',vbYesNo, '自定的confirm')=vbYes)", "vbscript");

 return(n);

}

@end @*/

alert(confirm("重载的confirm弹出框"));

// --></script>

February 24, 2007 2:18 PM
 

Coolboy said:

<script language=vbscript>

 msgbox "confirm?", 4, "对话框"

</script>

<!--数字值对应如下-->

    0    只对OK按钮

    1    OK和Cancel按钮

    2    Abort、Retry和Ignore按钮

    3    Yes、No和Cancel按钮

    4    Yes和No按钮

    5    Retry和Cancel按钮

February 24, 2007 2:24 PM
 

jawance said:

好神奇。确实可用。thanks

February 25, 2007 3:30 PM
 

jawance said:

var a = "13098762345";

var b = prompt("Phone number: ",a);;

prompt 想当于vb 的 inputBox = showdialoger("input you value")

February 25, 2007 3:33 PM
Copyright SDT, 2006-2009. All rights reserved.