GSMWORLD.it...viaggio nel mondo del GSM... GSMWORLD.it

Tutorial WML

 

Lezione 11.
FORM INPUT DELL'UTENTE. Parte 1

Proprio come nel linguaggio HTML, anche il WML prevede la possibilità di gestire degli input provenienti da scelte inserite dall'utente.

Tag <input>

Simile all'HTML. L'utente può inserire il testo attraverso la tastiera del telefonino. Come potete immaginare, ciò non è pratico come usare la tastiera di un PC e sarebbe buona norma ridurre al minimo l'uso di questo elemento ed optare per l'elemento select quando possibile.

<input name="nome" [value="valore"] [type="password|text"] [emptyok="true|false"] [size="num"] [length="num"]>

Attributi principali
name Nome della variabile che verrà settata con il contenuto inserito dall'utente. Obbligatorio
value Valore di default del campo. Nel caso in cui la variabile specificata in name contenga già un valore, l’attributo value viene ignorato.
type Indica il campo é una password oppure un normale testo. Nel primo caso all’atto della digitazione il testo verrà sostituito con degli asterischi.
emptyok Settato a 'TRUE' accetta in input stringe vuote.
size Dimensione, in numero di caratteri, dell’area di input.
maxlength Numero massimo di caratteri digitabili.
format specifica una maschera di input. E possibile indicare il tipo di carattere per ciascuna posizione della stringa.
  • A qualsiasi carattere alfabetico maiuscolo o di punteggiatura
  • a qualsiasi carattere alfabetico minuscolo o di punteggiatura
  • N qualsiasi carattere numerico
  • X qualsiasi carattere maiuscolo
  • x qualsiasi carattere minuscolo
  • M qualsiasi carattere
  • m qualsiasi carattere
  • *f qualsiasi numero di caratteri del formato f, dove f è uno dei suddetti formati
  • nf un numero n di caratteri del formato f, dove f è uno dei suddetti formati e n è un numero intero da 1 a 9

Alcuni esempi:

Si vuole richiedere un campo di testo di al massimo 32 caratteri alfanumerici:

<input name="nome" type="text" maxlength="32"/>

Lo stesso del caso precedente, ma con valore di default pari a "Marcello":

<input name="nome" type="text" value="Marcello" maxlength="32"/>

Oppure un numero di due cifre:

<input name="eta" type="text" format="NN"/>

Ed infine un campo particolare, tre caratteri alfabetici maiuscoli, quindi due cifre numeriche più un numero non precisato di caratteri alfabetici generici:

<input name="specific" type="text" format="XXXNN*m"/>

Tag "postfield"

Molto simile agli hidden fields dei form HTML. Non viene mostrato sullo schermo. Può essere usato per postare un coppia nome/valore al server. E' molto più potente di un campo nascosto, perché grazie al modo in cui vengono gestite le variabili in WML, potete collezionare informazioni contestuali e quindi passarle al server tutte insieme.

UN ESEMPIO COMPLETO DI FORM

Nell'esempio seguente abbiamo riportato un form completo dal quale poter comprendere meglio il funzionamento dell'acquisizione dati utente. L'oggetto del form é la richiesta di dati per l'invio di una email: da chi, a chi, oggetto, etc. Sono presenti tre campi text per i quali abbiamo specificato l'attributo "emptyok" a false, quindi vanno necessariamente riepiti con almeno un carattere. Quindi un campo "select" con due opzioni (Yes e No). Il tag "anchor" specifica invece la pagina WML a cui vanno inviati i dati del form. Con "postfield" infine si passano i valori memorizzati nelle variabili alla pagina di destinazione.

<card id="send_email" title="Invia email">
   <p>
   A:<br/>
   <input type="text" format="*M" emptyok="false"
      name="To" size="10" maxlength="40"/>
   Oggetto:<br/>
   <input type="text" format="*M" emptyok="false"
      name="Subject" size="10" maxlength="100"/>
   Messaggio:<br/>
   <input type="text" format="*M" emptyok="false"
      name="Body" size="10" maxlength="40"/>
   Signature:<br/>
   <select name="Signature">
      <option value="yes">yes</option>
      <option value="no">no</option>
   </select>
   <anchor title="Invia">Invia
      <go href="send_mail.wml">
         <postfield name="To" value="$(To)" />
         <postfield name="Subject" value="$(Subject)" />
         <postfield name="Body" value="$(Body)" />
         <postfield name="Signature" value="$(Signature)" />
      </go>
   </anchor>
   </p>
</card>




DISCLAIMER GSMWORLD.it consente all'utente di utilizzare il contenuto della presente pagina a condizione che: a) il documento serva solo a scopi informativi; b) il documento sia usato solo per scopi personali e comunque non commerciali; c) si faccia riferimento all'autore, quando il documento viene usato. GSMWORLD.it non si assume alcuna responsabilità per qualsiasi materiale realizzato o pubblicato da Terzi che sono linkati direttamente da questa pagina. Tutti i marchi, i nomi dei prodotti e dei servizi citati sono registrati dai rispettivi proprietari.

Copyright © Marcello Scatà 1997-2002
URL http://www.gsmworld.it/wapmania/default.asp?url=wml11%2easp
Stampato sabato 20 aprile 2024 09:14:50