input屬性
WML編程中可以使用變量,變量使用前必須進行定義。變量的命名原則及定義方法我們上一章已經講過了,這里不再重述。在這里,我們主要介紹WML程序中設置變量的規定。
如前所述,setvar元素可用來設置變量,設置時setvar元素一般需要在go、prev或refresh元素中進行定義。另外,利用input和select元素也可以設置變量。其中前者是將用戶輸入的文本賦給變量,作為變量的值;而后者則將用戶從option元素中選擇的value屬性的值賦給變量。有關input元素和select元素的語法格式及具體用法我們后面再行介紹。
設置變量時,以下幾種情況還應當引起大家注意:
1)可以使用WMLScript的變量值設置WML的變量,反之亦然。也就是說,使用WML及WMLScript編寫程序時,它們可以使用同名編程。
2)在WAP開發工具中,通常提供有對變量進行管理和維護的選項卡或對話框,開發人員從中也可以對相應的變量進行設置及編輯。
3)在當前上下文內容中,可以使用card元素的newcontext屬性來消除所有的變量值。
用戶輸入處理元素
通過WAP手機的按鍵,用戶可以向瀏覽器顯示的卡片中輸入數據信息或操作信息。WML為此專門提供了處理用戶輸入的元素。
input元素
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屬性所定義變量的值,它將顯示在輸入框中。
5)default。該屬性用于指定name屬性所定義變量的默認值。
6)format。該屬性用于格式化輸入的數據。
7)maxlength。該屬性用于指定用戶可輸入字符串的最大長度。該屬性的上限為256,最多不能超過256個字符。
8)emptyok。用于指定用戶是否可以不在輸入框內輸入內容。
9)size。該屬性用于指定輸入框的寬度,寬度值為字符個數。
10)tabindex。用于指定多個輸入框存在時,類似于HTML中Tab鍵的具體位置。
