对表单的控制能力可以证明一个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>
上例演示了一个通过单选功能完成多选需求的示例。