事件
WML的事件基本上分为两大类,一类是键盘(包括软硬按钮)输入事件,用do标签来处理,另一类是相关页面内部的事件,用onevent标签来处理。
do的语法如下:do type="type" label="label" name="name" optional="false|true"任务/do,任务就是以前提到的四种任务。do的属性中,type是必选的,其他为可选。
*label属性,指定了软按钮在屏幕上的显示文本。目前type属性为delete,help,prev时该属性无效。
*name属性,为do取个名字,同一的CARD里的do不能重名。如果CARD级的do和DECK级的do同名,则覆盖DECK级的do。
*optional属性,指定手机是不是可以忽略这个事件,默认值是false。
*type属性,指定触发的事件,具体如下;
type值 触发原因
accept 调用ACCEPT按钮机制
delete 调用DELETE按钮机制
help 调用HELP按钮机制
options 调用选择按钮机制
prev 调用PREV按钮机制
reset 调用清除和重新设定手机状态时的RESET机制(目前不支持)
unknown 调用unknown机制,等于type=""(目前不支持)
vnd. co-type 调用厂商特定的机制(目前不支持)
X-*, x-* 供以后使用(不保留)(目前不支持)
test6.wml
---------------
?xml version="1.0"?
!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml"
wml
head
meta http-equiv="Cache-Control" content="max-age=0"/
/head
card id="card0" ordered="false"
do type="accept" label="InputName" name="do1"
go href="#card01"/
/do
p
NAME:input name="userName" title="User Name" type="text" format="*M" emptyok="false" maxlength="12"/
/p
/card
card id="card01"
p
You name is $(userName:noesc).
/p
/card
/wml
onevent的语法如下,onevent type="type"任务/onevent,必选属性type的取值如下:
type值 如果用户执行了以下操作就执行任务
onpick 用户选择或不选一个option项时。
onenterforward 用户使用go任务到达一个CARD时。
onenterbackward 用户使用prev任务返回到前面的CARD时,或者按BACK按钮时。
ontimer 当timer过期时。
test7.wml
---------------
?xml version="1.0"?
!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml"
wml
head
meta http-equiv="Cache-Control" content="max-age=0"/
/head
card id="card0" ordered="false"
p
Please select a city...
select title="Cities List" name="city"
option title="Beijing" value="Beijing"
onevent type="onpick"
go href="#card01