现在的位置: 首页 > 综合 > 正文

WML中的Input元素详解

2013年08月09日 ⁄ 综合 ⁄ 共 2995字 ⁄ 字号 评论关闭

  

input元素用于定义文本实体对象,包含有对输入文本内容的格式、数据类型、长度、值、变量名等多种属性的具体规定。当用户输入满足input元素的规定时,则接受输入信息,并赋给指定的变量或进行相应的操作、处理;否则,就通过浏览器给出具体的处理意见,并进行适当的输入处理或变量初始化操作,比如刷新卡片以让用户重新输入,或给用户指出输入错误所在并等待进一步的处理指令等。input元素是WML编程中处理用户交互活动的重要元素,它通过单独的<input/>标签进行定义,语法格式如下:
<input name="variable" title="label" type="type" value="value" default="default"
format="specifier" emptyok="false|true" size="n" maxlength="n" tabindex="n"/>
其中除了name属性是必选的以外,其他属性都是可选的。这些属性的功能和用法介绍如下:
(1) name。该属性用于指定用来保存用户输入文本的变量的名称。定义name属性后WML将根据该属性的值也即变量名,为即将输入的文本实体对象预置存储空间,以便接收用户输入。
(2) title。该属性用于定义input元素的标题,通常是位于输入框前的提示信息。
(3) type。用于指定文本输入区的类型,有text和password两种选择。默认值为text,指定用户可以输入文本,而且输入的文本会同时逐键响应并显示在浏览器中。如果选择password,则指定用户输入的文本作为密码文本处理,WML程序按文本实体接受输入的数据,而浏览器上响应用户输入显示时逐键均为星号(*),由此起到保密的目的。
(4) value。该属性用于指定name属性所定义变量的值,它将显示在输入框中。如果input元素显示时用户没有设置name属性中的变量,那么value属性中的值就会自动分配给该变量。如果name属性中的变量已有值,或用户输入了新的值,或者用户输入的值不符合input元素的格式要求,那么value属性就会被程序忽略,value属性定义的值也不会影响变量的值。value属性在语法和行为上与下面介绍的default属性基本相同。
(5) default。该属性用于指定name属性所定义变量的默认值。在input元素运行时,如果用户不输入变量值,那么name属性定义的变量将采用default属性定义的默认值。否则,用户输入新值时,默认值将被忽略,变量将采用新输入的值。如果用户输入的值不符合input元素的格式要求,那么变量仍采用默认值。
 格式化标记及作用
标记    描 述
A         允许输入任何大写字母及标点符号,即非数字字符的大写字母和符号
a         允许输入任何小写字母及标点符号,即非数字字符的小写字母和符号
N         允许输入任何数字,不包括特殊符号及大小写字母
X         允许输入任何符号、数字及大写字母,所输入字母不可改变为小写
x         允许输入任何符号、数字及小写字母,其中所输入字母不可改变为大写
M         允许输入任何符号、数字及大写字母,所输入字母可改变为小写,默认为首字大写
m         允许输入任何符号、数字及小写字母,所输入字母可改变为大写,默认为首字小写
*f         允许输入任何格式的任意个字符(但不超过 maxlength属性所定义的个数),其中f为上述任一格式标记代码,
            比如*N可代表任何数字;*f在格式串中只可指定一次且只能出现在最后
nf         允许输入n个字符,其中n是1~9的整数;f为除*f以外的上述作一格式标记代码;nf在格式串中也是只可指定一次且只能出现在最后
/c         允许输入一个字符,并显示在输入框光标所在的当前位置
(6) format。该属性用于格式化输入的数据。这种格式化是通过格式标记实现的,可用的标记有两种形式,一是“一位数字标记”形式,二是“*标记”形式。其中前者代表N个标记型字符,如3X,而后者代表最多不超过maxlength属性值所对应个数的标记型字符。format属性中可用的格式化标记及其作用描述,列在表6.1中,供大家参考。
(7) maxlength。该属性用于指定用户可输入字符串的最大长度,也即可输入字符的的最大个数。该属性取值的上限为256,即最多不得超过256个字符。
(8) emptyok。用于指定用户是否可以不在输入框内输入内容。它有true和false两种选择,默认为false。emptyok取值false时,表明用户需要输入内容,且输入的内容要符合格式、长度等属性要求。emptyok取值为true时,表明用户可以不输入内容,此时,input元素将接受一个空串作为输入内容。
(9) size。该属性用于指定输入框的宽度,宽度值为字符个数。
(10) tabindex。用于指定多个输入框存在时,类似于HTML中Tab键的具体位置。即通过该键所在的输入框位置,间接定义当前输入操作发生在哪一个输入框。这样,用户可以通过tabindex的值,确定欲输入内容的项目。当然,待输入各项在此之前需要编号,以便于input元素根据tabindex的值进行定位,编号越大,越排在输入顺序的后面。
下面我们通过几个实例具体分析一下input元素的用法。例如:<input name="X" type="text" maxlength="32"/>一句定义了变量X,指定input元素可以接受任意字符,并同时显示出用户输入的文本字符,可输入文本字符串的最大长度为32个字符,输入的文本将赋给X变量。
再如,<input name="name" type="text" value="Robert"/>定义了一个名为name的变量,并指定了初始值“Robert”,输入类型为文本,输入时会同时显示出来。
再看下面一个例子。它定义了一个输入用户的名(First name)、姓(Last name)及年龄(Age)的卡片,其中年龄(Age)输入时需要输入两个数字,因为它的输入格式为“NN”。

抱歉!评论已关闭.