Ce langage peut être utilisé indépendamment d'ActiveX, de même que la technologie ActiveX peut être exploitée sans VBScript (cf. cours Access VBA chapitre 7).
Inclure le code VBScript dans une page HTML
VBS est un langage de type script, interprété par un navigateur (typiquement MSIE). Il est dérivé de VBA dont il reprend l'essentiel des instructions. Un programmeur connaissant ce langage sera en terrain familier. On débute un script VBS par une balise <SCRIPT> dans une page web. Cette balise admet un attribut LANGUAGE="langage" permettant de spécifier le type de langage utilisé. Pour VBScript, on indique "VBS". On indique le contenu du script dans la zone d'application de la balise <SCRIPT>. Voici comment on peut inclure un script dans une page web :
<HTML> <HEAD><TITLE>Exemple de script VBS</TITLE> <SCRIPT LANGUAGE="VBS"> <!-- Function Siecle(UneDate) If IsDate(UneDate) Then Siecle = ((Year(UneDate) - 1) \ 100 + 1 Else Siecle = Null End If End Function --> </SCRIPT> </HEAD> <BODY>
Remarques:
<HTML><HEAD> <SCRIPT LANGUAGE="VBScript"> Sub Bouton1_OnClick MsgBox "Nous sommes le " & Date &" Jusqu'à l'an 2000 il reste "_ & DateDiff("d",Date,#1/1/2000#) & " jours" ,vbOKOnly + vbExclamation End Sub </SCRIPT> </HEAD> . . . <FORM><INPUT NAME="Bouton1" TYPE="BUTTON" VALUE="Cliquez ici"></FORM> . . .
Haut du document | Trucs et Astuces MS-Access |
Variables et types de données
On déclare une variable en la précédant du mot clé Dim. Cette instruction peut être suivie d'un ou plusieurs noms de variables, séparés par des virgules. Les noms de variables doivent respecter des règles classiques, que nous ne reproduirons pas ici.
En VBS, toutes les variables sont de type variant. On peut y affecter indifféremment n'importe quel type de donnée, que cela soit une chaîne de caractères ou une valeur numérique. On définit cependant des sous-types car une fois qu'une affectation a été effectuée, la variable concernée adopte le (sous-) type de donnée qu'elle reçoit. Les principaux sous-types sont les suivants :
Array |
pour les tableaux, |
Boolean |
Valeur booléenne, contient Vrai ou Faux |
Byte |
Octet (8 bits), |
Date Time |
Contient une date entre le 1.1.100 et le 31.12.9999 Contient l'heure |
Double |
Valeur numérique double précision, |
Empty |
Variant , valeur nulle (0 pour les types numériques et "" pour les chaînes), |
Integer |
Entier sur 16 bits, |
Long |
Entier sur 32 bits, |
Null |
Variant ne contient pas de données valides |
Object |
Objet de type ActiveX ou non, |
String |
Chaîne de caractères. |
Bien que les variables n'aient pas de type spécifié dans leur déclaration, il n'est pas toujours possible de les utiliser dans une même expression (comme par exemple l'addition d'un entier à une chaîne). C'est pourquoi VBS possède des fonctions permettant de convertir un type de donnée à un autre. En voici quelques unes:
CBool(expression) |
convertit en booléen une expression numérique, |
CByte (expression) |
convertit en octet une expression, |
CDbl (expression) |
Expression en double précision, |
Cint (expression) |
expression en entier, |
CLng (expression) |
expression en entier long, |
Cstr (expression) |
Expression en chaîne, |
Str (valeur_numérique) |
Valeur numérique en chaîne, |
Val (chaîne) : chaîne |
valeur numérique. |
Il en existe d'autres que nous n'avons pas citées.
Autre type important: les tableaux. On définit un tableau en VBS, toujours à l'aide de la commande Dim, mais en indiquant un entier entre parenthèses après le nom de celui-ci.
Exemple : Dim Tableau(10)
définit un tableau de..11 éléments. En effet, bien que le 1er indice soit 0, on n'indique pas en argument la taille du tableau mais le numéro du dernier élément (soit la taille du tableau - 1).
A noter que VBS propose une extension intéressante des tableaux : les tableaux dynamiques; ils sont définis en n'indiquant pas de taille en argument (parenthèses vides). Pour utiliser de tels tableaux, on doit cependant indiquer leur nombre d'éléments, comme pour un tableau statique, mais en utilisant cette fois le mot clé ReDim. On peut ainsi spécifier plusieurs fois le mot clé ReDim en augmentant la taille du tableau à chaque fois.
Constantes
Comme en VBA les constantes numériques, chaînes de caractères et dates sont définies en utilisant l'instruction Const.
Exemples:
Const conDistance = 300
Const conTxtStock = "cet article est indisponible pour le moment "
Const conDateLimite = #31-12-1999#
En mettant les noms des constantes en majuscules, on évite la confusion avec des variables.
Opérateurs
Les opérateurs disponibles en VBS sont ceux rencontrés dans les langages de programmation classiques, avec cependant quelques différences par rapport aux langages comme le C ou Java, mais qui restent absolument conformes à ce que l'on rencontre dans le VBA et le Visual Basic.
Par exemple, l'opérateur d'affectation et celui d'égalité sont les mêmes : "=". De plus, l'opérateur de différence est "<>". D'autre part, les opérateurs logiques s'expriment en toutes lettres, comme par exemple : And, Or, etc. Enfin, on concatène deux chaînes de caractères en utilisant l'opérateur &.
L'ordre de priorité de l'exécution des opérations est identique à celui des autres langages.
Haut du document | Trucs et Astuces MS-Access |
Boucles et structures conditionnelles
Listons rapidement les différentes structures conditionnelles et les boucles utilisables en VBS.
Ifcondition Then ' instructions Else ' instructions End If
Comme dans tous les langages, le Else est facultatif. Si on a plusieurs conditions différentes à tester on utilise la clause ElseIf.
Quand la condition doit être testée de plusieurs manières on utilisera avantageusement:
Exemple:
Dim Couleur, MaVar Sub ChangeCouleurFond (Color) MaVar = lcase (Couleur) Select Case MaVar Case "rouge" document.bgColor = "rouge" Case "vert" document.bgColor = "vert" Case "bleu" document.bgColor = "bleu" Case Else MsgBox "choisissez rouge ou vert ou bleu" End Select End Sub
Concernant les répétitives, il en existe plusieurs comme en VBA :
Do While condition ' instructions Loop
Do ' instructions Loop While condition
Do Until condition ' instructions Loop
Suivant le cas, la condition est exécutée au début ou à la fin de la boucle. D'autre part, on peut sortir d'une boucle en utilisant l'instruction Exit Do.
Quand on connaît le nombre d'itérations, on utilise la boucle "For" :
For compteur = valeur_début To valeur_fin ' instructions pouvant utiliser la valeur de la variable "compteur" Next
Notez qu'il existe également une instruction Exit For permettant de sortir d'une boucle For.
Si on doit traiter chaque élément d'une collection d'objets, on utilise de préférence For Each . . . Next
Par exemple on va placer le contenu d'un objet Dictionary (tableau de stockage) dans plusieurs zones de texte:
<HEAD><TITLE>Elements d'une collection</TITLE></HEAD> <SCRIPT LANGUAGE="VBScript"> <!-- Sub cmdChanger_OnClick Dim d Set d = CreateObject("Scripting.Dictionary") ' On ajoute des clés et du texte d.Add "0", "Paris" d.Add "1", "Bordeaux" d.Add "2", "Lyon" For Each I in d Document.frmGeo.Elements(I).Value = d.Item(I) Next End Sub --> </SCRIPT> <BODY> <CENTER> <FORM NAME="frmGeo" <Input Type = "Text"><p> <Input Type = "Text"><p> <Input Type = "Text"><p> <Input Type = "Text"><p> <Input Type = "Button" NAME="cmdChanger" VALUE="Cliquez ici"><p> </FORM> </CENTER> </BODY>
Haut du document | Trucs et Astuces MS-Access |
Procédures et Fonctions
Contrairement aux langages comme le C ou Java, on distingue en
VBS deux types de modules: les procédures et les fonctions.
Une procédure est un petit programme qui ne renvoie
aucune valeur. Elle peut recevoir des arguments séparés par des virgules
(variables, expressions, constantes) passées par une procédure appelante. Si
elle n'a pas d'arguments à traiter on doit faire suivre son nom d'une paire de
parenthèses.
Exemple:
Sub ConvertTemp() ' La valeur est calculée par la fonction Celsius. temp = InputBox("Entrez la température en degrés F.", 1) MsgBox "La température est " & Celsius(temp) & " degrés C." End Sub
Une fonction est définie par les mots clés Function et End. Elle retourne toujours une valeur de type Variant en assigant celle-ci à son nom.
Exemple:
Function Celsius(DegrésF) Celsius = (DegrésF - 32) * 5 / 9 End Function
Dans cet exemple, une variable nommée DegrésF contenant la valeur de l'argument, est passée à la fonction qui le traite. On constate qu'il n'existe pas d'instruction du type return. En effet, pour renvoyer une valeur au programme appelant, on affecte tout simplement cette valeur à une variable portant le nom de la fonction. Le résultat est donc retourné à la procédure appelante et affiché dans une boîte de message.
Rappelons qu'il est vivement conseillé de mettre les procédures et fonctions d'un programme dans l'en-tête du document HTML qui le contient.
Haut du document | Trucs et Astuces MS-Access |
Applications
VBS a deux applications principales :
Nous verrons comment utiliser VBS avec ActiveX dans un autre cours. Voici un petit exemple de vérification d'une rubrique d'un formulaire intégré dans une page HTML:
<HTML> <HEAD> <BODY BGCOLOR="#fffff0"> <SCRIPT LANGUAGE="VBScript"> <!-- Sub Verif_OnClick Dim f Set f = Document.frmSaisie If f.Nombre.Value < 1 Or f.Nombre.Value > 99 Then MsgBox "Entrez un nombre entre 1 et 99 !" Else MsgBox "Saisie Ok !" End If End Sub --> </SCRIPT> </HEAD> <BODY> <H1>Formulaire</H1> <BR> <FORM NAME="frmSaisie"> Entrez un nombre entre 1 et 99 : <INPUT NAME="Nombre" TYPE="TEXT" SIZE="2"> <INPUT NAME="Verif" TYPE="BUTTON" VALUE="Valider"> </FORM> </BODY> </HTML>
Cet exemple crée un formulaire HTML comprenant une zone de saisie et un bouton de commande. On vérifie les données saisies dans la zone prévue à cet effet lorsque l'usager clique sur le bouton, en appelant une procédure portant le nom Verif_OnClick. Notons que le nom de cette procédure est le nom du bouton (Verif) suivi de "_OnClick" indiquant que la procédure est appelée quand l'utilisateur clique sur le bouton en question. Dans ce cas l'appel de la procédure Verif_OnClick est implicite. Plus avant nous verrons qu'il y a trois méthodes pour appeler une procédure associée à une page Web.
Pour visualiser ce formulaire et tester cliquez ici.
Analysons le contenu de cette procédure. D'abord, on définit une variable f à laquelle on attribue une référence vers le formulaire contenu dans la page HTML, via l'instruction Set. Le nom de celui-ci est Document.frmSaisie, "Document" désignant le document courant, tandis que "frmSaisie" est le nom que nous avons donné au formulaire dans la balise <FORM>. Notez l'importance de l'opérateur ".". Il sépare les noms de différents objets apparaissant dans une page HTML. On l'utilise également pour faire référence à une propriété d'un contrôle ActiveX, comme nous le verrons plus loin.
L'instruction Set référence la variable f pour simplifier la vérification de la zone de saisie du formulaire. Autrement il faudrait écrire: Document.frmSaisie.Nombre.Value chaque fois que l'on veut traiter le contenu de la zone de saisie.
Ensuite on teste la valeur de la rubrique Nombre du formulaire précité, en accédant à sa propriété Value. Si cette valeur est incorrecte, on affiche un message d'erreur. Si elle est correcte, on l'indique aussi à l'utilisateur pour le sécuriser.
Les trois méthodes d'appel d'une procédure de page Web
On peut appeler une procédure de manière explicite, implicite depuis la balise <FORM> du langage HTML, ou encore avec la commande FOR ... EVENT du langage VBScript.
Exemples:
<HTML><BODY BGCOLOR="#fffff0"> <H1> Exemples d'appels de procédures VBScript</H1> <SCRIPT LANGUAGE = "VBScript"> Sub Explicite alert "Ce script a été appelé de manière explicite." End Sub Sub boutonImplicite_onClick msgbox "Ce script a été appelé de manière implicite." End Sub </SCRIPT> <FORM METHOD="POST"> <INPUT TYPE="Button" NAME="boutonExplicite" VALUE="Methode 1: Appel explicite de la procédure VBScript" onClick="Explicite"> <P> <INPUT TYPE="Button" NAME="boutonImplicite" VALUE="Methode 2: Appel implicite de la procédure VBScrip"> <P> <INPUT TYPE="Button" NAME="boutonScriptFor" VALUE="Methode 3: Scripting avec la syntaxe FOR...EVENT"> <SCRIPT FOR="boutonScriptFor" EVENT="onClick" LANGUAGE="VBScript"> Alert "Ce script est incorporé au contrôle." </SCRIPT> </FORM> </BODY> </HTML>
Pour visualiser ce formulaire et tester cliquez ici.
Cette page comporte trois boutons de commande, chacun utilisant une technique d'appel de procédure VBScript différente.
Le premier bloc SCRIPT inclut deux procédures. La seconde a le mot réservé onClick à la fin du nom comme dans l'exemple précédent. Nous avons ici un appel implicite de la procédure boutonImplicite_onClick, car il n'y a pas d'appel explicite de cette procédure dans la définition du "boutonImplicite" de la balise <FORM>..La première partie du nom de la procédure l'associe au contrôle et la seconde à un événement.
Le premier bouton de commande "boutonExplicite" appelle une procédure de manière explicite en associant le nom de la procédure à un événement dans sa définition.
Le dernier bouton "boutonScriptFor" utilise une syntaxe spéciale qui nous permet de dédier un bloc SCRIPT à un événement de contrôle.
Quelle est la meilleure méthode ?
La méthode de l'appel implicite facilite la lecture du code et par suite son entretien.
La méthode Script For - Event est utile si le bloc ne fait qu'appeler un programme externe ou permet de naviguer vers un autre document HTML.
Nous allons maintenant étudier un exemple de génération automatique de valeur et de vérification de la saisie de données obligatoires.
<HTML><HEAD> <TITLE>Validation dans formulaire avec VBScript</TITLE> <SCRIPT LANGUAGE="VBScript"> Dim vbCrLf vbCrLf = Chr(10) & Chr(13) Function isNull (str) If (str.Value="") Then isNull = True Else isNull = False End If End Function 'Fonction pour vérifier la saisie de la rubrique obligatoire: Function checkCodeUsager(str) If (isNull(str)) Then alert "Vous devez entrer le Code Usager" checkCodeUsager = False Exit Function Else checkCodeUsager = True End If End Function 'Section des procédures événementielles: Sub Page_Initialize Document.frmCommandes.txtQuantity.Value = 1000 Document.frmCommandes.txtCodeUsager.SetFocus End Sub Sub btnCommandez_Click msgbox "Pour confirmer votre commande: " & vbCrLf & "Nom: " &_ Document.frmCommandes.txtNom.Value & vbCrLf & "Quantité commandée: " &_ Document.frmCommandes.txtQuantity.Value End Sub </SCRIPT> </HEAD> <BODY LANGUAGE="VBScript" BGCOLOR="#fffff0" OnLoad = Page_Initialize> <CENTER><H1> Network Computing International </H1> <H2>Exemple de Validation avec VBScript</H2></CENTER> Bienvenue à notre système de commandes par Internet. Notez que les rubriques "Code Usager" et "Quantité" sont requises pour un traitement correct de votre commande. <FORM NAME = "frmCommandes" METHOD = "Post"> <PRE> CodeUsager: <INPUT TYPE="TEXT" NAME="txtCodeUsager" VALUE="" onBlur="checkCodeUsager(txtCodeUsager)"> Votre Nom: <INPUT TYPE="TEXT" NAME="txtNom"> Votre Adresse: <INPUT TYPE="TEXT" NAME="txtAdresse"> Quantité: <INPUT TYPE="TEXT" NAME="txtQuantity" Value="" > </PRE> <INPUT TYPE="Button" VALUE="Commandez" Name ="btnCommandez" Onclick="btnCommandez_Click"> <INPUT TYPE="reset" VALUE="Initialisez Formulaire"> </FORM> </P></BODY></HTML>
Dans la balise BODY on appelle une procédure pour agir sur un document ouvert et initialiser une rubrique à une valeur par défaut. Ici on utilise l'événement onBlur (analogue à LostFocus) pour valider au niveau de la machine Client. La fonction isNull est utilisée pour s'assurer que l'usager entre une valeur non nulle.
Pour visualiser ce formulaire et tester cliquez ici.
Haut du document | Trucs et Astuces MS-Access |
Création de formulaires
interactifs Pour compléter les exemples précédents on va expliquer plus en
détail comment créer des formulaires interactifs dans vos pages Internet via
VBS. De tels formulaires permettent aux visiteurs de recevoir et de fournir des
informations. On va d'abord étudier la balise <FORM>, qui constitue
la pierre angulaire des formulaires interactifs. Ensuite nous étudierons 8
différents types de rubriques que vous pouvez incorporer dans vos formulaires,
soit les zones de texte, cases à cocher, boutons radio, zones de liste,
étiquettes, zones invisibles, mots de passe et zones de chargement de
fichiers. (ici on placera les contrôles de formulaire) </form> GET Envoie les données du formulaire en qualité d'élément de l'adresse URL
(par exemple script.cgi?name=Laurent&email=Laurent@Laurent.com). C'est
l'option par défaut. Elle est efficace pour de petites quantités de
données (moins de 1024 octets), par exemple lancer une requête de
recherche. POST Envoie les données du formulaire dans le flux HTTP. Ceci est recommendé
pour la plupart des types de formulaires(questionnaires,catalogues).
Contrairement à la méthode GET, l'usager ne peut pas actualiser la page de
résultats - habituellement, l'usager obtient une boîte de dialogue lui
demandant s'il veut envoyer les données une nouvelle
fois Adresse Email:
Puis nous examinerons comment utiliser les boutons
Envoyer, Image et Actualiser. Ensuite nous verrons comment créer des boutons de
formulaire génériques.
Finalement, nous verrons comment traiter les
informations obtenues via vos formulaires.
La balise FORM
Tous les formulaires HTML sont créés avec la balise
<FORM>
<form method="xxxx"
action="xxxx">
L'attribut method définit
comment l'information saisie par l'usager au moyen du formulaire est envoyée au
serveur. On a deux options:
L'attribut action
spécifie la destination des données. Normalement c'est l'adresse URL d'un script
sur le serveur. Par exemple, http://www.votresite.com/cgi-bin/feedback.cgi ou
http://www.votresite.com/poll.asp.
Contrôles de
formulaire
Il est temps de mettre quelques contrôles dans le
formulaire. Les contrôles de formulaire incluent les zones de texte, les cases à
cocher, les boutons radio, et les listes déroulantes. Chaque contrôle de
formulaire a un nom et une valeur. Le nom est utilisé par le script côté serveur
ou un autre programme pour identifier la rubrique, et la valeur représente la
saisie de l'usager.
Nous allons examiner les divers types de contrôles
disponibles.
Zones de texte
Ce contrôle permet
d'entrer de petites quantités d'informations telles que le nom de l'usager et
son adresse email. Le format de la balise est le suivant:
<input type="text" name="xxxx" value="xxxx"
size="xxxx"
maxlength="xxxx">
L'attribut name est le nom du
contrôle(par exemple, adresse_email ou age). L'attribut optionnelvalue
permet de fournir une valeur par défaut, qui apparait dans la zone de texte
(l'usager peut changer cete valeur).
L'attribut optionnel size
spécifie la taille physique de la zone de texte en caractères. Par défaut on
aura la taille par défault utilisée par le navigateur.
Finalement,
l'attribut optionnel maxlength permet de limiter le nombre de signes que
l'usager peut entrer au clavier. Par défaut, l'usager peut entrer un nombre
illimité de signes.
Exemple:
<form>
Adresse Email: <input type="text"
name="adresse_email" value="" size="30"
maxlength="50">
<form>
Cases à cocher
Les cases à cocher
sont des rubriques de type booléen pouvant être activées/désactivées par un clic
de souris, Leur valeur sera soit Vrai (True), soit Faux (False).
Ce type
de contrôle permet à l'usager de spécifier un seul élément de donnée, par
exemple, s'il veut ou non recevoir votre magazine, ou pour indiquer qu'il a lu
vos conditions d'abonnement.
Le format de la balise est le
suivant:
<input type="checkbox" name="xxxx"
value="xxxx" checked>
L'attribut name est le nom de la
rubrique (par exemple, magazine). On peut spécifier plusieurs cases à cocher
avec le même nom. Dans ce cas, elles vont appartenir au même groupe d'options.
Quand le formulaire est transmis, les valeurs de toutes les cases à cocher sont
transmises sous le même nom.
L'attribut value spécifie la valeur
qui sera tranmise si l'usager coche la case. Si l'usager désactive la case, une
valeur null est transmise.
L'attribut optionnel checked, si
présent, affichera la case à cocher comme étant activée. Si l'attribut checked
est omis dans la balise, la case à cocher sera affichée comme étant
vide.
Exemple:
Voulez-vous vous inscrire dans notre
liste d'adresses?
<form>
<input type="checkbox"
name="liste_mailing" value="oui" checked> Oui
</form>
Boutons radio
Les
boutons radio sont similaires aux cases à cocher, sauf qu'un seul bouton peut
être sélectionné dans un groupe. (Comme avec les cases à cocher, un groupe de
boutons radio est une collection portant le même nom.)
Les boutons radio
permettent à l'usager d'effectuer un choix parmi quelques options. (Si vous avez
beaucoup d'options, il faut considérer l'emploi d'une liste.) La balise du
bouton radio a les mêmes attributs que celle de la case à cocher:
<input type="radio" name="xxxx" value="xxxx"
checked>
L'attribut name est le nom de la rubrique (par
exemple, couleur_préférée). Vous pouvez spécifier plusieurs boutons radio avec
le même nom. Dans ce cas ils font partie du même groupe d'options. Un seul
bouton peut être choisi à un instant donné.
L'attribut value
indique la valeur qui sera transmise si l'usager choisi ce bouton
radio.
L'attribut checked, si présent, affichera le bouton comme
étant activé. Par défaut, il est affiché comme étant
désactivé.
Exemple:
Quelle est votre couleur
préférée?
<form>
<input type="radio"
name="couleur_préférée" value="rouge" checked> Rouge
<input
type="radio" name="couleur_préférée" value="orange"> Orange
<input
type="radio" name="couleur_préférée" value="bleu">
Bleu
</form>
Listes
déroulantes
Les listes déroulantes autorisent la sélection de un ou
de plusieurs éléments d'une liste d'options. La balise a le format
suivant:
<select>
<select name="xxxx"
size="xxxx" multiple>
<option value="xxxx" selected>Option
Text</option>
<option value="xxxx">Option
Text</option>
</select>
La balise <select></select>définit la liste déroulante.
L'attribut name donne le nom de la liste (par exemple,
sport_favori).
L'attribut optionnel size spécifie le nombre
d'éléments qui seront affichés à la fois. Si omis ou fixé à 1, on affiche une
liste déroulante.
L'attribut optionnel multiple, si présent, va
autoriser l'usager à sélectionner plusieurs options via la touche Ctrl ou
Maj.
A l'intérieur de la balise, <select></select> une ou plusieurs balises <option>sont placées. Chaque balise <option> représente un élément de la
liste.
L'attribut value est la valeur qui va être transmise si
l'usager choisit cette option.
L'attribut optionnel selected va
présélectionner cette option quand le formulaire est affiché.
Entre
chaque balise <option></option> on peut
placer l'étiquette de texte Le texte de l'étiquette n'est pas transmis, il ne
sert qu'à guider l'usager.
Exemple 1: Liste
déroulante
Quel est votre sport
favori?
<form>
<select name="sport_favori"
size="1">
<option value="tous" selected>J'aime tous les
sports!</option>
<option
value="judo">Judo</option>
<option
value="football">Football</option>
<option
value="basketball">Basketball</option>
</select>
</form>
Exemple
2: Liste de 3 lignes
Quel est votre sport
favori?
<form>
<select name="sport_favori"
size="3">
<option value="all" selected>J'aime tous les
sports</option>
<option
value="judo">Judo</option>
<option
value="football">Football</option>
<option
value="basketball">Basketball</option>
</select>
<form>
Text
Areas
Si l'usager doit pouvoir entrer plusieurs lignes de texte,
utilisez le contrôle textarea. Le format de sa balise est le
suivant:
<textarea name="xxxx" rows="xxxx"
cols="xxxx" wrap="xxxx">
(texte par défaut ici)
</textarea>
Cinq conseils pour vos formulaires
Sur le Web, la
présentation est essentielle, et si vous voulez un feedback de vos visiteurs,
vous devez vous conformer à leurs préférences visuelles et à leurs habitudes de
manipulations.
1. Ne les ennuyez pas. Incluez ce qui est nécessaire,
jertez le reste.
Ne demandez pas à vos visiteurs décrire un livre pour
vous donner un feedback. Gardez vos formulaires aussi simples que possible. Non
seulement vos visiteurs ont d'autres choses à faire que de remplir de longs
formulaires, mais ils sont aussi sensibles aux informations qu'ils transmettent
sur Internet. Par exemple s'il s'agit d'un formulaire de commentaires, demandez
leur nom, leur adresse Email, leurs commentaires. C'est tout!
2.
Limitez la taille des entrées
Par exemple, vous pouvez rendre certaines
rubriques obligatoires (pour savoir comment référez-vous à cet article Javascript
ou à celui-ci PHP
Vous pouvez aussi limiter les signes entrés dans une zone de texte comme
suit:
<input type="text" name="Nom" size="20"
maxlength="10">
Ceci est une zone de texte
typique dénommée Nom, avec une taille de 20 et une longueur maximum de 10. Cela
signifie que bien que la zone de texte s'étende sur 20 positions vers la droite,
on ne pourra y entrer que 10 caractères. Ce type de restriction marchera bien
avec le code d'une province ou d'un canton.
3. Mettez les sur la bonne
voie
Est-ce trop demander que l'usager clique d'abord dans la première
zone de remplissage. Cela se discute, mais cela est sécurisant. Voici comment
placer automatiquement le curseur dans une zone de texte
déterminée.
<body
onLoad="document.forms[0].NomArticle.focus();">
Explication:
Si vous avez une balise Body, copiez/collez simplement depuis onLoad vers la
droite. Ce code demande de placer le curseur dans la zone de texte NomArticle du
premier formulaire de la page. Notez, que vous pouvez placer le curseur, lors du
chargement de la page, dans n'importe quelle zone de texte. Mais logiquement on
va le placer dans la première zone à remplir.
4. Organisez les données
du formulaire
Une bonne habitude est d'utiliser une table pour organiser
le texte et les éléments à saisir. Par exemple on utilisera une table à deux
colonnes. La colonne de gauche fournit la question ou le critère et l'autre
colonne fournit la rubrique effective du formulaire.
5. Confirmez et
remerciez
On fait simplement acte de politesse en remerciant les
visiteurs d'avoir pris le temps de remplir le formulaire. De nombreux scripts
côté serveur écrits en ASP, Cold Fusion, Perl, ou PHP fournissent
automatiquement la possibilité de retourner une page de remerciements.
Haut
du document
Trucs et
Astuces
MS-Access