Select List 控件

对表单的控制能力可以证明一个HTML设计者是否够专业,而且很多交互功能也必须依赖表单。WML没有表单属性,但是WML可以直接使用控件,同样可以达到使用表单的效果。因此,使用控件的水平可以体现一个WML设计者的制作水平。 WML控件有Select List和Input Box两个系列,每个系列另外包含几个子系列,基本可以满足表单设计的需求。 选择列表控件(Select List) Select有两对很重要也很容易混淆的属性:name, value , iname , ivalue。这四个属性的区别和用途不太容易描述清除,看了后面的例子会很容易理解。 每个Select是一个或多个Option的集合,Option地结果返回给Select元素的name和iname。 示例: 相关属性: 1. multiple 这个布尔变量的值决定是否允许多重选择,值为True时Select控件允许复选,否则相反。 2. name & Value 这一组变量的主要作用是获取于该option的返回值,value提供name的缺省值。 3. iname & ivalue 与上一组参数功能相似,不同的是ivalue返回有效Option的序列号。被选中的控件用它的序号表示,0代表没有option被选中,假如第二个和第三个同时被选中就表示为 2;3 4. title 作为标题参数提供给浏览器,但是不同的浏览器处理方式有所不同,有些浏览器直接显示选项内容不显示标题,有的浏览器显示标题,按选择键进入选择界面。 5. tabindex 提供给浏览器的控件序号参数。 2、选项控件 Option只有包含在Select内才有意义,无法单独使用。 相关属性: 1. value Option的返回值,假如当前Option被选择,这个Value的值会被传送到Select元素的Name变量。 2. title 供浏览器显示的选项标题。 3. onpick 如果当前Option被点选,浏览器跳转到指定的Url。 示例1:

WML文档结构祥解

1、声明(Prologue)<?xml version="1.0"?> 2、元素(Element)   WML首先定义一个Deck,然后在Deck内封装信息和Card。3、文件头(Head Element)   头信息包含与Deck有关的信息,包括meta数据和控制元素。  3.1、访问权限设置(Access)  该元素用于设置有访问当前Deck权限的列表。如果Deck内不包含Access Element信息,该Deck下的Access Element处于无效状态,其他所有的Deck都可以访问该Deck。  相关属性:   domain:假如设置

动作和链接

设置动作(Do)Do是WML语言中最有有价值的元素之一,它给用户提供一种在当前Card上进行"动作"的通用方法。这种动作通常被定位在用户终端界面的特定部件上,例如WAP手机的功能键(Cancel,Option,Accept),特定的图标,语音识别功能等等。Do可以设置在Deck的Template上或者Card上,当他们重名的时候Card上的Do会覆盖Template上的同名元素(参看任务屏蔽说明)。属性列表:type:诉浏览器动作的意图。   WML总共声明了9个类型的动作,最常用的动作类型是"accept"和"option"。   1.1 accept,接受、确认   1.2 prev,返回上一个历史堆栈中的URL   1.3 help,请求帮助   1.4 reset,清除或者重置状态   1.5 options,根据当前页面的功能设置选项。   1.6 delete,删除选择条目   1.7 unknow,相当于空白字串   1.8 还有两个属性还没有最后确定。label:设置按钮标题,显示在浏览器定义好的屏幕位置,不同浏览器地显示位置不同。如果不设置标题,按钮会按照浏览器的缺省格式显示,不同浏览器的缺省格式不同。name:按钮名称,可以用Card级的动作覆盖template上的同名动作,重新赋予那些动作新的任务。optional:来定义一个按钮是否显示,设置为True时会被浏览器忽略示例: 链接(Anchor)archor是WML定义链接的基础方式,与其他标签结合可以满足很多应用,anchor必须与go结合。相关属性: title 链接的文本显示内容。示例:

WML的事件

内部事件(Onevent)相关属性: type:内部事件的触发条件,当前浏览器状态满足触发条件时,浏览器就会触发这个条件下设置的Task,内部事件总共有4种触发条件。  1 ontimer 满足时钟设置的条件时,该条件成立。关于时钟设置问题,后面还有专门的说明。   2 onenterbackward 通过Prev或其他外部命令返回到当前Card,该条件成立。   3 onenterforward 当浏览器通过链接进入当前Card,该条件成立   4 onpick 在使用Option控件列表的时候,任何点击控件的行为都会触发本事件,包括选择和去掉选择。示例:<?xml version="1.0"?>

跳转和传递参数

go的基本属性和应用 实现Card之间跳转的一个基本方法是go,go和do、anchor等标签的结合是WML高级应用的一个基础。  相关属性:  href:声明链接的URL  sendreferer:表示是否传递调用href所指定的URL的页面的URL,也就是当前页的URL,即HTTP头中的HTTP_REFERER,默认值为false,可选值为true   method:WML的method与HTTP提交表单的方法类似,同样有Post和Get两种,缺省参数为Get。  Post与Get的不同:Post在发送前要进行编码处理,然后分组发送,发送过程相对安全,适合大数据量的处理;而Get方法不进行任何处理,一次性发出,适合小数据量交换。除非你肯定你提交的数据可以一次性提交,否则请尽量用Post方法。  accept-charset:定义浏览器与服务器之间收发信息的字符集类型,例如:accept-charset="UTF-8,US-ASCII,ISO-8859-1"。示例:<?xml version="1.0"?>

任务与导航-赋值与数据交换

这一部分简单讲解WML的变量赋值和数据提交方法,在后面的章节中有专门讲解。变量赋值(Setvar)   Setvar给浏览器的当前页面内变量赋值,该变量可以在当前Dock中的任意Card中调用。  相关属性:   1. name 变量名,作为访问变量的标识    示例:

WML文件的概念WML Decks

这里简单介绍一个关于WML文件的概念,其他的细节问题会在后面的章节还详细介绍。 声明由于WML语言继承于XML,所以一个有效的WML文档必须包含一个XML声明和一个文件类型声明。以下就是一个最常用的声明,由于WML语法要求非常严格,为了避免出错,制作者可以直接拷贝粘贴到制作文档。<?xml version="1.0"?> 注:<?xml version="1.0"?> 语句必须出现在一个Deck的首行,而且必须顶头写,插入任何字符哪怕是空格都会造成语法错误。主体结构这是一个最简单的WML文件:<?xml version="1.0"?>

全面了解WML

学习自然语言的最好方法就是溶入相应的语言环境在交流中学习,学习一种编程语言的最好方法就是看例程。为了帮助大家建立WML应用的第一印象,所以请大家先看第一个例子:<?xml version="1.0"?>通过以上示例大家应该了解到以下内容:1、语法:WML的语法与HTML相似,仍然是一种标记语言,而且延续了xML语法规则2、元素:在XML和WML 语言中,语言的基本元素称之为"标签"   标签必须被 < 和 > 括起来。   大多数标签都包括"起""止"两部分,例如:

   某些特殊标签可以只有一个标签,但是必须有结束标记,例如:3、属性:XML语言的标签可以包含很多属性,给标签提供必要的附加信息   属性内容通常在起始标签内使用   属性只作为参数为标签提供必要的信息,不会被浏览器显示   属性的值需要被引号括起来,可以是单引号或者双引号,引号可以成对嵌套使用   例如: