事件
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"/>
</onevent>Beijing</option>
<option title="Shanghai" value="Shanghai" onpick="#card01">Shanghai</option>
<option title="Hongkong" value="Hongkong" onpick="#card01">Hongkong</option>
</select>
& lt;/p>
</card>
<card id="card01">
<p>
You are Living in $(city:noesc)
</p>
</card>
</wml>
<timer/>可以用来在用户不进行任何操作的一段时间后,自动执行一个任务,任何激活CARD页面的任务和用户操作都会启动<timer/>,而任务进行时,<timer/>就停止。每个CARD只能有一个<timer/>,一个<timer/>只能触发一个任务。语法如下:<timer name="variable" value="value"/>,其中name为可选属性,指定为一个变量名,当退出该CARD时,该变量存储此时定时器的值,当定时器超时时,手机将该变量设为0;value为必选属性,用来设置定时器的定时值,最小单位为0.1秒。
test8.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="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>三者必须按以上顺序写。
此外在DECK级还可以加入<template>,用来将事件捆绑在DECK级上,语法如下:
<template onenterforward="url" onenterbackward="url" ontimer="url">
<do>或者<onevent>
</template>
test9.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>
<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>
WML学习之六 事件_WML教程
时间: 2024-11-03 02:14:05
WML学习之六 事件_WML教程的相关文章
初试WAP之wml+ASP查询_WML教程
搞了这么多年计算机,第一次写文章到网上来!见笑了 程序目的:工作需要,查询企业注册资料的朋友太多了,省得麻烦,在网站上增加了查询功能,居然有人说没有电脑,没电脑也该有个手机吧.用手机查询这样随时随地都行,说干就干,做一个WAP查询,全用记事本写的. 数据库结构如下: 库名:data.mdb 表名:info 字段:id .企业名称.住所.法定代表人--(这个省略号是等等的意思) 一.反馈页面 hello.asp 源码如下: <%@ Language=VBScript %> <% Respo
新手学习网站优化系列教程三:程序的选择
中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 前面讲了<新手学习网站优化系列教程一:域名的选择>和<新手学习网站优化系列教程二:空间的选择>,今天来讲解第三课,程序的选择.据笔者所说,很多个人站长的程序源码都是从网络上下载下来的,因为大部分的个人站长都没有太多的时间专注于自己写源码程序,这花费大量的时间不说,也很难做得到.所以,与其花这么多时间在写程序上面,不如直
新手学习网站优化系列教程五:推广方法的选择
中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 首先祝大家新年快乐,好几天没写这个系列教程了,今天我们将进行第五讲.前面已经连续讲了四期,分别为<新手学习网站优化系列教程一:域名的选择>.<新手学习网站优化系列教程二:空间的选择>.<新手学习网站优化系列教程三:程序的选择>.<新手学习网站优化系列教程四:网站的基本设置>.系列教程进入到第五课
WML学习之二基本格式和文件头_WML教程
基本格式和文件头 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> <access/> <meta..../> </hea
WML学习之四 锚和任务_WML教程
锚和任务 连接是 HTML 页面里最基本的功能, 在 WML 里也一样用 <a href="url" title="label"> 和 </a>来包括用来建立连接的文字,必选属性href指定了要打开的URL,可选的title属性给该连接取个标记名字,这个名字将作为软按钮之一的ACCEPT键(详见以前的HDML入门文章)的标记显示在屏幕的软按钮区,所以通常可以将属性作为提示文字是用. 然而,以上的连接在WML里只是任务的一种情况,为了能够使用其
WML学习之五 显示表单_WML教程
显示表单 类似于HTML的<FORM>,<fieldset>可用来包括一组表单选项,但不是必须的.前面说过,当<card>的ordered设置为false时,手机可以显示一个概要CARD来总结有效的选项,方便用户从中选取表单选项来填写,概要CARD就是根据<fieldset>和独立的输入框<input>以及选单<select>来总结的.语法为, <fieldset title="label">表单内容&
WML学习之一概述和基本规则_WML教程
概述 WML(Wireless Markup Language - 无线标记语言)这种描述语言同我们常听说的HTML语言同出一家,都属于X ML语言这一大家族.HTML语言写出的内容,我们可以在我们的PC机上用IE或是Netscape等浏览器进行阅读,而 WML语言写出的文件则是专门用来在手机等的一些无线终端显示屏上显示,供人们阅读的,并且同样也可以向使用者提供人机交互界面,接受使用者输入的查询等信息,然后向使用者返回他所想要获得的最终信息. 基本规则 * WML使用XML文档字符集,目前支持
WML学习之七 CGI编程_WML教程
CGI编程 1)在WEB服务器上添加WML的MIME类型 对于IIS4,可在其管理器里的站点属性中加入新的MIME类型,后缀.wml和 MIME类型text/vnd.wap.wml. 对于PWS,可修改注册表,先在 HKEY_CLASSES_ROOT层加入主键.wml,再加入串值Content Type为text/vnd.wap.wml,然后在HKEY_LOCAL_MACHINE\Software\CLASSES\MIME\Database\Content Type\中加入主键text/vn
WML开发教程--WML学习之显示表单
教程|显示 类似于HTML的<FORM>,<fieldset>可用来包括一组表单选项,但不是必须的.前面说过,当<card>的ordered设置为false时,手机可以显示一个概要CARD来总结有效的选项,方便用户从中选取表单选项来填写,概要CARD就是根据<fieldset>和独立的输入框<input>以及选单<select>来总结的.语法为, <fieldset title="label">表单内容