wml用户输入和提交的实现

用户的输入

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,则指定用户输入的文本作为密码文本处理,而浏览器上响应用户输入显示时逐渐均为星号* ,由此起到保密的目的。
    (type中只有这两种类型且password并不常用,手机回显多数直接以明文显示)
  4. value。该属性用于指定name属性所定义变量的值,它将显示在输入框中。
  5. default。该属性用于指定name属性所定义变量的默认值。
  6. format。该属性用于格式化输入的数据。
  7. maxlength。该属性用于指定用户可输入字符串的最大长度。该属性的上限为256,最多不能超过256个字符。
  8. emptyok。用于指定用户是否可以不在输入框内输入内容。
  9. size。该属性用于指定输入框的宽度,宽度值为字符个数。
  10. tabindex。用于指定多个输入框存在时,类似于HTML中Tab键的具体位置。

实例:
<?xml version="1.0"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN"
"http://www.wapforum.org/DTD/wml_1.1.xml">

<wml>
<card title="Input">

<p>
Name: <input name="Name" size="15"/><br/>
Age: <input name="Age" size="15" format="*N"/><br/>
Sex: <input name="Sex" size="15"/>
</p>

</card>
</wml>

select元素

select元素是通过<select>和</select>标签进行定义的,语法格式如下:

<select title="label" multiple="false|true" name="variable" default="default" iname="index_var" ivalue="default" tabindex="n">
内容(content)
</select>

其中所有属性都是可选的。select元素各个属性的功能和用法介绍如下:

  1. multiple 该属性用于指定选择列表是否可以使用复选框
  2. name 该属性用于指定接收选项值的变量的名称,变量值由value属性预设定。
  3. value 用于制定name属性所定义变量的默认值。
  4. iname 用于指定包含排序号的变量的名称。
  5. ivalue 用于指定选择列表中被选中选项的值,是一个具有排序号性质的值。
  6. title 用于指定选择列表的标题。
  7. tabindex 用于指定当前选择光标在选择列表中的具体位置,该位置即为当前选择操作将要选择的选项所在的位置。

option元素

用于定义select元素中的一组单选项。它通过<option>和</option>标签进行定义,并可包括事件和单选项的显示文本等信息,其语法格式如下:

<option title="label" value="value" onpick="href">
内容(content)
</option>

option元素的属性均为可选,各属性功能及用法说明如下:

  1. value 该属性用于设置键值。当用户选到该选项之后,option元素就会将该值赋给selet元素的name属性所指定的变量。
  2. title 用于option元素制定的一个标题,以便提示用户操作。
  3. onpick 该属性用于指定用户选到该项并按accept键后所打开卡片组的L。

optgroup元素

用于将多个相关的option元素进行分组,用户浏览器可以借助这种分组来安排选项列表的显示布局,以方便用户选择。optgroup元素是通过<optgroup>和</optgroup>标签进行定义的,其语法格式如下:

<optgroup title="label">
内容(content)
</optgroup>

它所包含的内容中需要包含至少一次option元素或其他的optgroup元素。
optgroup元素只有一个属性,即title属性,用于定义optgroup元素的标题,以便提示用户操作。

fieldset元素

用于设定输入框和相应的说明文本,从而用户就可以利用input元素等借助该输入框输入所需的数据信息。fieldset元素的语法格式如下:

<fieldset title="label">
内容(content)
</fieldset>

由于fieldset元素和输入有关,所以它们的内容中可以包含与输入有关的其他元素。 其语法格式可以看出,fieldset元素只有一个属性,即title属性,用于定义fieldset元素的标题,以便提示用户操作。

实例:

<?xml version="1.0"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN"
"http://www.wapforum.org/DTD/wml_1.1.xml">

<wml>
<card title="Selectable List">
<p>
<select>
  <option value="htm">HTML Tutorial</option>
  <option value="xml">XML Tutorial</option>
  <option value="wap">WAP Tutorial</option>
</select>
</p>
</card>
</wml>

用户的提交

可利用go元素和postfield元素进行数据提交。

go元素

<go> 任务表示跳转到新卡片的动作。在 href 属性中规定跳转的目的地
属性:

  1. href 必需。新卡片的 URL。
  2. accept-charset 服务器能够处理的字符编码列表,用逗号或空格分隔。默认值是 "unknown"。
  3. method post/get 设置如何向服务器发送数据。默认方法是 get
  4. sendreferer true/false 默认是 "false"。 class cdata 为此元素设置的 class 名。这个 class 名对大小写敏感。一个元素可链接多个 class。claas 属性中的多个class 名通过空格进行分隔。
  5. id 为此元素设置的唯一名称。

postfield元素

<postfield> 标签包含了连同 <go> 标签被送往服务器的信息。注:是用户提交数据的关键点

属性:

  1. name 必需。字段的名称。注:服务器中接收的变量名
  2. value 必需。字段的值。
  3. class 为此元素设置的 class 名。这个 class 名对大小写敏感。一个元素可链接多个 class。claas 属性中的多个 class 名通过空格进行分隔。
  4. id 为此元素设置的唯一名称。

实例:

<?xml version="1.0"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN"
"http://www.wapforum.org/DTD/wml_1.1.xml">

<wml>
<card>

<p>
<select name="name">
  <option value="htm">HTML Tutorial</option>
  <option value="xml">XML Tutorial</option>
  <option value="wap">WAP Tutorial</option>
</select>
</p>

<p>
 Click OK to Send
 <do type="accept">
  <go href="test.wml" method="post">
   <postfield name="i" value="2"/>
   <postfield name="j" value="30"/>
   <postfield name="n" value="$(name)"/> 注:这里的n为服务器中要取的变量名,name为select元素名,$(name)用户的选项值。
  </go>
 </do>
</p>
</card>
</wml>

<!-- <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/"> <rdf:Description rdf:about="http://192.168.1.6:8080/confluence/pages/viewpage.action?pageId=9800008" dc:identifier="http://192.168.1.6:8080/confluence/pages/viewpage.action?pageId=9800008" dc:title="wml用户输入和提交的实现" trackback:ping="http://192.168.1.6:8080/confluence/rpc/trackback/9800008" /> </rdf:RDF> -->

你可能感兴趣的:(编程,xml,浏览器,Go,WAP)