Actions dans la carte WML : élément do

Lorsque l'utilisateur utilise la touche (le lien, le bouton... en fonction de l'interface) lié à cet élément l'action est effectuée. Cette action dépend du contenu de l'élément do (go, prev, noop, refresh). Dans l'exemple donné au début, l'élément d'interface suite charge la carte cv. <do type="accept" label="suite"> <go href="#cv"/> </do>

L'attribut type précise le type de l'action (accept pour acceptation). L'attribut name donne un nom à l'action, si ce nom est le même que celui d'un template pour cette carte l'action est remplacée.

Élément noop

L'élément vide noop supprime pour la carte l'action spécifiée pour toutes les cartes du deck par l'élément template.

Élément refresh

Cet élément permet de rénitialiser des variables du mobile. Il est possible, par exemple de vider les champs des formulaires en utilisant l'élément setvar. <refresh> <setvar name="date" value=""/> <setvar name="lieu" value=""/> </refresh>

Élément prev

Lorsque l'élément prev est placé dans l'élément do, l'action est le retour à la page précédente de l'historique (un back dans le navigateur).

Élément go

L'élément go charge une carte dans le deck ou un nouveau deck lorsque l'utilisateur a provoqué une action avec do. L'attribut href permet de préciser l'url.

Lorsque des variables sont transmises, l'attribut method précise si l'encodage est réalisé selon la méthode get ou post. Ce sont les éléments postfield (qui peuvent être inclus dans l'élément go) qui permettent de donner les variables à transmettre.

Exemple

<?xml version="1.0" encoding="ISO-8859-1"?> <!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.3//EN" "http://www.wapforum.org/DTD/wml13.dtd"> <wml> <card id="reservation" title="réservation"> <do type="accept" label="modifier"> <refresh> <setvar name="datedepart" value="31/12/2004"/> </refresh> </do> <do type="accept" label="réserver"> <go href="url_script" method="get"> <postfield name="date" value="$(datedepart)"/> <postfield name="dest" value="$(destination)"/> <postfield name="arr" value="$(depart)"/> </go> </do> <p> <input name="datedepart" value="24/12/2004"/> date <br/> <input name="depart" value="Marseille"/> départ <br/> <input name="destination" value="Paris"/> arrivée <br/> </p> </card> </wml>

Voici la partie requête lorsque le formulaire ci-dessus est posté au script dont l'URL est précisé dans l'attribut href : ?date=24%2F12%2F2004&dest=Paris&arr=Marseille

page wap (le navigateur Opera http://www.opera.com permet de visualiser les pages wml1.3)