Premiers pas en JavaScript
validation formulaire
cuy copyleft
  See You Why?  

 


test relatif à l'accès aux éléments d'un formulaire (37.9) | | ?? (38.2)

Contenu


JavaScript 1 - Introduction
JavaScript 2 - Commentaires et instructions
JavaScript 3 - Variables
JavaScript 4 - Types de variables
JavaScript 5 - Variables et chaines
JavaScript 6 - Les fonctions
JavaScript 7 - Les fonctions à paramètre unique
JavaScript 8 - Les fonctions à paramètres multiples
JavaScript 9 - L'instruction RETURN dans une fonction
JavaScript 10 - Appel d'une fonction dans une autre fonction
JavaScript 11 - Les variables locales ou globales
JavaScript 12 - Quelques opérateurs mathématiques
JavaScript 13 - ???
JavaScript 14 - L'instruction IF, pour les conditions
JavaScript 15 - L'instruction IF... ELSE..., pour les conditions à deux sorties
JavaScript 16 - Les IF imbriqués et fonction aléatoire
JavaScript 17 - Les conditions complexes
JavaScript 18 - L'instruction SWITCH, en cas de choix multiples
JavaScript 19 - La boucle FOR
JavaScript 20 - La boucle WHILE
JavaScript 21 - Les événements dans la programmation
JavaScript 22 - Quelques événements : onMouseOver onLoad etc.
JavaScript 23 - Les objets
JavaScript 24 - Créer ses propres objets
JavaScript 25 - Appliquer des méthodes à ses objets
JavaScript 26 - Les tableaux
JavaScript 27 - Différentes façons de créer des tableaux
JavaScript 28 - Propriétés et méthodes applicables aux tableaux
JavaScript 29 - Les méthodes applicables aux tableaux
JavaScript 30 - Méthodes de tris pour tableaux SORT, REVERSE et PUSH
JavaScript 31 - Ajouter des éléments à un tableau en utilisant une boucle
JavaScript 32 - Tecnique pour imprimer les éléments d'un tableau
JavaScript 33 - Lecture de bases de données
JavaScript 34 - Les objets mathématiques
JavaScript 35 - Les objets relatifs aux dates
JavaScript 36 - Les formulaires JS sont des objets
JavaScript 37 - Accès aux éléments d'un formulaire
JavaScript 38 - Validation des entrées d un formulaire
38.1 JS : Reste à définir
38.8 JS : exercices sur la validation des formulaires
38.9 JS : un test sur la validation des formulaires
JavaScript 39 - Graphisme et JavaScript

JavaScript 50 - Calculateur d'emprunt
JavaScript 51 - Calendrier perpétuel et options diverses
JavaScript 99 - Documentation


 
 

 
Avec un peu de JavaScript,
n'oubliez pas de rendre vos pages
plus dynamiques et plus interactives.
 

 
 

 
Notre volonté est de rendre cette formation de JavaScript,
disponible le plus rapidement possible.
Le lecteur excusera l'imperfection de ce travail en cours de construction
et pourrait nous informer des défauts rencontrés.

  MERCI
 

 

 

I. Valider les entrées d'un formulaire

Les pages en français traitant du sujet sont nombreuses sur le Web : Google en ce début 2013 nous en propose près de 50 000. Rares sont celles qui répondent valablement à ce que des créateurs de sites voudraient obtenir. Vérifier qu'un formulaire soit bien rempli est un problème classique en JS. Mais n'oubliez pas que chacun peut désactiver le JS et que votre script de vérification peut ne pas être fiable.

Cependant, JS garde de nombreux avantages dans la pré-vérification de vos formulaires, en effet:

  1. on reste sur la même page du formulaire :
    ça évite des redirections, et donc les temps de chargements qui vont avec (qui peuvent être longs si le serveur est saturé) ;
  2. si vous avez oublié de remplir un seul champ, pas de risque d'être redirigé sur un nouveau formulaire vide
    (c'est très agaçant, surtout si on a passé beaucoup de temps à le remplir) ;
  3. l'utilisateur peut être prévenu qu'un champ est mal rempli dès qu'il a fini de remplir ce formulaire, même avant.

Avant de valider les entrées d'un formulaire, nous renverrons le lecteur à la construction de formulaire que nous avons développée dans notre page HTML. Cependant, nous ne croyons pas que cette page puisse vous expliquer toutes les nuances de la création d'un bon formulaire. Nous rappellerons donc l'essentiel des formulaires.

Avant de vouloir valider chaque entrée d'un formulaire, le lecteur aura dû prendre connaissance de la façon d'accéder et/ou modifier chaque élément d'un formulaire, ce qui a été fait dans le chapitre précédent. Si cela ne présente plus aucun problème, libre à vous de poursuivre la lecture de ce chapitre.

 

A. rappel de l'essentiel des formulaires

Sans forcer le lecteur à lire ou relire les pages mentionnées ci-dessus, nous préférons rappeler, ici l'essentiel concernant les formulaires :

      1. un formulaire doit être encadré par des balises <form> et </form>, la première pouvant être accompagnée des paramètres action, method et name dont le sens est rappelé dans les pages recommandées ;
      2. un formulaire contient généralement une ou plusieurs entrées possibles, appelées champs de saisie via des balises <input>, <textarea> ou <select> avec <option> ;
      3. au moins un bouton de type <input type="submit" /> qui valide le formulaire et, facultativement un bouton de type <input type="submit" /> qui annule et remet à zéro les réponses entrées dans le formulaire ;
      4. parfois, un script en JS va vérifier le contenu des réponses données par l'utilisateur avant l'envoi vers le serveur en vue d'une analyse plus complète ou d'un enregistrement de ces données.

      Ce qui nous intéressera, c'est le contenu de ce fichier JS qui vérifie les réponses données.

       

B. Imprécisions, risques et/ou erreurs fréquentes

Notre but n'est pas de critiquer ce que vous faites, mais d'attirer votre attention sur les conséquences de certains choix faits par les concepteurs de pages ou d'habitudes prises par certains internautes.

 

1.- sortir d'un formulaire par "onclick" sur un bouton "ok" ou "Envoyer"

"En bien quoi ? C'est bien ce que l'on nous a appris en HTML."
Certes, vous n'avez pas tort. Les fans de l'ordi sont souvent aussi des fanatiques de la souris. Mais il ne faut pas oublier que les utlisateurs acharnés du clavier sont également très nombreux (j'en fais partie). Tous les employeurs et ergonomes le savent : les acharnés du clavier sont plus productifs, car ils ne perdent pas à chaque opération les secondes pour lâcher son clavier et retrouver sa souris (sur sa table de travail et sur son écran) ou vice-versa.

"Pas de problèmes... les inconditionnels du clavier savent tous que l'on peut passer d'un champ de formulaire à un autre en appuyant sur la touche 'TAB' et 'Enter' pour simuler un 'clic' sur un bouton."
Exact, mais tous les navigateurs n'acceptent pas ce détour de la même façon qu'un 'clic' sur le bouton... donc pas de réponse à l'évènement 'onclick'... donc pas de vérification si l'on a créé un bouton ainsi <input type="submit" value="OK" onclick="verifier()" />.

Outre ce bouton 'OK', on trouve aussi des variantes trop nombreuses, mais qui présentent les mêmes inconvénients :
<script type="text/javascript">
function verifier() {
    // si la valeur du champ 'nom de famille' n'est pas vide
    if(document.formSaisie.nom.value != "") {
        // alors on envoie le formulaire
        document.formSaisie.submit();
    } else {
        // sinon on affiche un message
        alert("Saisissez le nom de famille");
    }
}
</script>

ou encore via un bouton-image <img src="ok.jpg" onclick="verifier()" alt="ok" /> ou même un simple lien <a href="../verification_formul#" onclick="verifier()">Ok</a> voire aussi <a href="javascript:verifier()">Ok</a> ou <a href="javascript:verifier()"><img src="ok.jpg" alt="ok" /></a>.

En bref, évitez de sortir d'un formulaire par une instruction de type 'onclick'.

 

2.- nommer un formulaire par "name" ou par "id"

Même si les navigateurs acceptent encore la désignation d'un formulaire par l'attribut 'name', ce dernier est devenu obsolète depuis l'apparition de la norme HTML5. On préfèrera (avant d'y être bientôt obligé) l'emploi de l'attribut 'id' pour désigner ou identifier un formulaire.
Pour l'instant, si on emploie les deux attributs et si leurs noms diffèrent, c'est l'attribut 'id' qui sera pris en considération.

 

 

II.

voir suite >>>

 

 

IX. Test relatif à la validation de formulaire

voir suite >>>

 

 


test relatif à l'accès aux éléments d'un formulaire (37.9) | | ?? (38.2)