WML語法大全與相關(guān)介紹第3/3頁
更新時間:2007年03月14日 00:00:00 作者:
使用Nokia WAP Toolkit對該程序進行測試。啟動Nokia WAP Toolkit,并選擇“Go”下的“Open Location”。在輸入URL地址后,可以看到模擬器上出現(xiàn)的界面。在選擇“Optionos”后出現(xiàn)了事件選擇項。注意到“InputName”是do標(biāo)簽名字。在選擇了“InputName”事件后,模擬器上將出現(xiàn)界面輸出姓名
<onevent>的語法如下:
<onevent type="type">任務(wù)</onevent>
必選屬性type的取值如表3-6所示:
表 3-6 type屬性的取值
枚舉值 如果用戶執(zhí)行了以下操作就執(zhí)行任務(wù)
onpick 用戶選擇或不選一個<option>項時
onenterforward 用戶使用<go>任務(wù)到達(dá)一個卡片時
onenterbackward 用戶使用<prev>任務(wù)返回到前面的卡片時,或者按BACK按鈕時
ontimer 當(dāng)<timer>過期時
請看下面的例子程序:
<?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"/>
</onevent>Beijing</option>
<option title="Shanghai" value="Shanghai" onpick="#card01">Shanghai</option>
<option title="Hongkong" value="Hongkong" onpick="#card01">Hongkong</option>
</select>
</p>
</card>
<card id="card01">
<p>
You are Living in $(city:noesc)
</p>
</card>
</wml>
<timer/>可以用作在用戶不進行任何操作的一段時間后,自動執(zhí)行一個任務(wù),任何激活卡片頁面的任務(wù)和用戶操作都會啟動<timer/>,而任務(wù)進行時,<timer/>就停止。每個卡片只能有一個<timer/>,一個<timer/>只能觸發(fā)一個任務(wù)。語法如下:
<timer name="variable" value="value"/>
其中name為可選屬性,指定為一個變量名。當(dāng)退出該卡片時,該變量存儲此時定時器的值。當(dāng)定時器超時時,手機將該變量設(shè)為0;value為必選屬性,用來設(shè)置定時器的定時值,最小單位為0.1秒。
請研究下面的例子程序:
<?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="card1" ontimer="#card2">
<timer name="time1" value="50"/>
<p align="center">
After 5s, goto card2
</p>
</card>
<card id="card2">
<onevent type="ontimer">
<go href="#card1"/>
</onevent>
<timer name="time2" value="50"/>
<p align="center">
Here is card2!
</p>
</card>
</wml>
再提一下:<onevent>、<timer>、<do>三者必須按以上順序?qū)憽?
此外在頁面級還可以加入<template>,用來將事件捆綁在頁面級上,語法如下:
<template onenterforward="url" onenterbackward="url" ontimer="url">
<do>或者<onevent>
</template>
請研究下面的例子程序:
<?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>
<template>
<do type="accept" label="deckPress" name="do1">
<go href="#card01"/>
</do>
</template>
<card id="card0" ordered="false">
<do type="accept" label="cardPress" name="do1">
<go href="#card02"/>
</do>
<p>
Press ACCEPT...
</p>
</card>
<card id="card01">
<p>
Here is card01
</p>
</card>
<card id="card02">
<p>
Here is card02
</p>
</card>
</wml>
相關(guān)文章
收集的WML Script標(biāo)準(zhǔn)函數(shù)庫
收集的WML Script標(biāo)準(zhǔn)函數(shù)庫...2007-03-03