WML學習(六):事件_Xml教程

      編輯Tag賺U幣
      教程Tag:暫無Tag,歡迎添加,賺取U幣!

      推薦:WML學習(七):CGI編程
      CGI編程 1)在WEB服務器上添加WML的MIME類型 對于IIS4,可在其管理器里的站點屬性中加入新的MIME類型,后綴.wml和 MIME類型text/vnd.wap.wml。 對于PWS,可修改注冊表,先在 HKEY_CLASSES_ROOT層加入主鍵.wml,再加入串值Content Type為text/vnd.wap.wml,然

      事件
      WML的事件基本上分為兩大類,一類是鍵盤(包括軟硬按鈕)輸入事件,用<do>標簽來處理,另一類是相關頁面內部的事件,用<onevent>標簽來處理。

         <do>的語法如下:<do type="type" label="label" name="name" optional="false|true">任務</do>,任務就是以前提到的四種任務。<do>的屬性中,type是必選的,其他為可選。
         *label屬性,指定了軟按鈕在屏幕上的顯示文本。目前type屬性為delete,help,prev時該屬性無效。 
         *name屬性,為<do>取個名字,同一的CARD里的<do>不能重名。如果CARD級的<do>和DECK級的<do>同名,則覆蓋DECK級的<do>。
         *optional屬性,指定手機是不是可以忽略這個事件,默認值是false。
         *type屬性,指定觸發的事件,具體如下;
         type值    觸發原因
         accept    調用ACCEPT按鈕機制
         delete    調用DELETE按鈕機制
         help     調用HELP按鈕機制
         options   調用選擇按鈕機制
         prev     調用PREV按鈕機制
         reset    調用清除和重新設定手機狀態時的RESET機制(目前不支持)
         unknown    調用unknown機制,等于type=""(目前不支持)
         vnd. co-type 調用廠商特定的機制(目前不支持)
         X-*, x-*   供以后使用(不保留)(目前不支持)

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

      <wml>
      <head>
      <meta http-equiv="Cache-Control" content="max-age=0"/>
      </head>
      <card id="card0" ordered="false">
      <do type="accept" label="InputName" name="do1">
      <go href="#card01"/>
      </do>
      <p>
      NAME:<input name="userName" title="User Name" type="text" format="*M" emptyok="false" maxlength="12"/>
      </p>
      </card>
      <card id="card01">
      <p>
      You name is (userName:noesc).
      </p>
      </card>
      </wml>

         <onevent>的語法如下,<onevent type="type">任務</onevent>,必選屬性type的取值如下:
         type值     如果用戶執行了以下操作就執行任務
         onpick     用戶選擇或不選一個<option>項時。
         onenterforward 用戶使用<go>任務到達一個CARD時。
         onenterbackward 用戶使用<prev>任務返回到前面的CARD時,或者按BACK按鈕時。
         ontimer     當<timer>過期時。

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

      <wml>
      <head>
      <meta http-equiv="Cache-Control" content="max-age=0"/>
      </head>
      <card id="card0" ordered="false">
      <p>
      Please select a city...
      <select title="Cities List" name="city">
      <option title="Beijing" value="Beijing">
      <onevent type="onpick">
      <go href="#card01"/>
      </onevent>Beijing</option>
      <option title="Shanghai" value="Shanghai" onpick="#card01">Shanghai</option>
      <option title="Hongkong" value="Hongkong" onpick="#card01">Hongkong</option>
      </select>
      & lt;/p>
      </card>
      <card id="card01">
      <p>
      You are Living in (city:noesc)
      </p>
      </card>
      </wml>

         <timer/>可以用來在用戶不進行任何操作的一段時間后,自動執行一個任務,任何激活CARD頁面的任務和用戶操作都會啟動<timer/>,而任務進行時,<timer/>就停止。每個CARD只能有一個<timer/>,一個<timer/>只能觸發一個任務。語法如下:<timer name="variable" value="value"/>,其中name為可選屬性,指定為一個變量名,當退出該CARD時,該變量存儲此時定時器的值,當定時器超時時,手機將該變量設為0;value為必選屬性,用來設置定時器的定時值,最小單位為0.1秒。

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

      <wml>
      <head>
      <meta http-equiv="Cache-Control" content="max-age=0"/>
      </head>
      <card id="card1" ontimer="#card2">
      <timer name="time1" value="50"/>
      <p align="center">
      After 5s, goto card2
      </p>
      </card>
      <card id="card2">
      <onevent type="ontimer">
      <go href="#card1"/>
      </onevent>
      <timer name="time2" value="50"/>
      <p align="center">
      Here is card2!
      </p>
      </card>
      </wml>

         再提一下,<onevent> <timer> <do>三者必須按以上順序寫。

         此外在DECK級還可以加入<template>,用來將事件捆綁在DECK級上,語法如下:
         <template onenterforward="url" onenterbackward="url" ontimer="url">
         <do>或者<onevent>
         </template>


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

      <wml>
      <head>
      <meta http-equiv="Cache-Control" content="max-age=0"/>
      </head>
      <template>
      <do type="accept" label="deckPress" name="do1">
      <go href="#card01"/>
      </do>
      </template>
      <card id="card0" ordered="false">
      <do type="accept" label="cardPress" name="do1">
      <go href="#card02"/>
      </do>
      <p>
      Press ACCEPT...
      </p>
      </card>
      <card id="card01">
      <p>
      Here is card01
      </p>
      </card>
      <card id="card02">
      <p>
      Here is card02
      </p>
      </card>
      </wml>

       

      分享:如何為Exchange Server安裝WAP電子郵件網關
      許多技術里面都有一個被稱為Infinite Interchange的產品,它用于把許多的電子郵件產物包括Exchange Server結合在一起。 它提供基于郵件的網頁,最近,增加了對WAP的支持。 你可以從Infinite Technologies Website站點下載一個此產品的30天的試用版。 1.Int

      來源:模板無憂//所屬分類:Xml教程/更新時間:2010-03-09
      相關Xml教程