对表单的控制能力可以证明一个HTML设计者是否够专业,而且很多交互功能也必须依赖表单。WML没有表单属性,但是WML可以直接使用控件,同样可以达到使用表单的效果。因此,使用控件的水平可以体现一个WML设计者的制作水平。

WML控件有Select List和Input Box两个系列,每个系列另外包含几个子系列,基本可以满足表单设计的需求。

选择列表控件(Select List)  Select有两对很重要也很容易混淆的属性:name, value , iname , ivalue。这四个属性的区别和用途不太容易描述清除,看了后面的例子会很容易理解。

  每个Select是一个或多个Option的集合,Option地结果返回给Select元素的name和iname。

  示例:

<select name="name" iname="iname value="value" ivalue="ivalue"> <option value="S">sina</option> <option value="Y">yahoo</option> </select>

相关属性:

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:

<card> <p>Please choice your favourite Web.<br/>  <select name="X">   <option value="S">sina</option>   <option value="Y">yahoo</option>  </select> <p> </card>

上例是一个基本的单选列表,选择的结果被赋值给X。

示例2:

<card> <p>Please choice all your favourite Web.<br/> <select name="X" iname="I" ivalue="1;3" multiple="true">   <option value="S">sina</option>   <option value="Y">yahoo</option>   <option value="N">netease</option> </select> <p> </card>

上例是一个使用了iname和ivalue的多选列表,I被预置为 1;3 。假如用户选择了sina和yahoo,X被赋值为 S;Y,I被赋值为 1;2。假如用户不做任何选择,I等于1;3,X内容为空。

示例3:

<card> <p>Jump to your favourite Web.<br/> <select>   <option onpick="http://wap.sina.com.cn">sina</option>   <option onpick="http://wap.chnmobile.net">china mobile</option> </select> <p> </card>

上例演示了Option的onpick功能,不管Option的状态如何,只要它被点选,浏览器就会跳转到指定的Url。

示例四:

<card> <p>Please choice your favourite Web.<br/> <select name="X">   <option value="S">sina</option>   <option value="Y">yahoo</option>   <option value="S;Y">both</option> </select> <p> </card>

上例演示了一个通过单选功能完成多选需求的示例。