Blog ENI : Toute la veille numérique !
🐠 -25€ dès 75€ 
+ 7 jours d'accès à la Bibliothèque Numérique ENI. Cliquez ici
Accès illimité 24h/24 à tous nos livres & vidéos ! 
Découvrez la Bibliothèque Numérique ENI. Cliquez ici
  1. Livres et vidéos
  2. PHP et JavaScript
  3. Utilisation de JavaScript sur les formulaires
Extrait - PHP et JavaScript Dynamisez vos sites et applications web (avec exercices et corrigés)
Extraits du livre
PHP et JavaScript Dynamisez vos sites et applications web (avec exercices et corrigés) Revenir à la page d'achat du livre

Utilisation de JavaScript sur les formulaires

Introduction

Vous allez voir que JavaScript peut être utile dans de nombreuses situations. Jusqu’à présent, on a simplement élaboré quelques scripts isolés contenant exclusivement du code JavaScript dans le but de manipuler les objets du DOM, les méthodes, fonctions, etc.

On va maintenant combiner les deux technologies, PHP et JavaScript, afin de voir comment elles interagissent. Petit rappel, souvenez-vous que PHP est exécuté côté serveur, tandis que JavaScript agit côté client (votre navigateur).

L’exemple que l’on va voir dans les paragraphes suivants consiste à vérifier les éléments saisis dans un formulaire.

Attention, ce chapitre présente un exemple d’utilisation de PHP et de JavaScript, mais n’est en aucun cas une solution pour vérifier de manière sûre les données envoyées aux formulaires. Prenez bien conscience que JavaScript peut être désactivé dans les navigateurs, donc cela ne constitue pas un moyen de contrôler les données, mais plutôt de vérifier qu’on a du contenu quand celui-ci est obligatoire, ou de vérifier les formats des données attendues (numérique, chaînes, etc.).

Élaboration du formulaire en PHP

Vous allez constituer dans un premier temps un formulaire de base en PHP avec quelques champs que l’on retrouve dans de nombreux cas aujourd’hui. Pour s’identifier sur un site, il est courant d’avoir à renseigner un nom, un prénom, un nom d’utilisateur, un mot de passe et une adresse mail.

Le script d’élaboration de ce formulaire pourrait être celui-ci :


<html> 
    <head> 
           <title>Exemple PHP/Javascript</title> 
    </head> 
 
    <body> 
           <table cellpadding="2" cellspacing="5" 
bgcolor="#eeeeee"> 
                  <th colspan="2" align="center">Formulaire 
d'enregistrement</th> 
                  <form method="post" action="ch23_ex01.php"  
onsubmit="return controleFormulaire(this)"> 
                        <tr> 
                               <td>Nom</td> 
                               <td> 
                                      <input type="text" 
maxlength="25" name="nom"> ...

Introduction du code JavaScript

Pour contrôler ce que l’utilisateur a saisi, on va dans un premier temps ajouter du code JavaScript, qui retournera une chaîne vide si aucune erreur n’est rencontrée, sinon on affichera les erreurs à l’écran dans une fenêtre pop-up (fonction alert() de JavaScript). Dans ce cas, le formulaire est reproposé à l’utilisateur afin qu’il corrige ce qui n’est pas correct.

Si aucune erreur n’est détectée, le formulaire sera soumis au script PHP référencé dans l’attribut action de la balise form de votre code HTML (ici, chp23_ex01.php).

1. Vérifier que les champs ne sont pas vides

Les premiers contrôles à effectuer consistent à vérifier par exemple que les champs nom, prénom et mot de passe ne sont pas vides. Pour cela, une simple fonction sur chacun des deux champs peut faire l’affaire :


<script> 
 ....function controleNom(champ) { 
........return (champ == "") ? "Veuillez renseigner un nom.\n"  
: "" 
....} 
.... 
....function controlePrenom(champ) { 
........return (champ == "") ? "Veuillez renseigner un 
prenom.\n" : "" 
....} 
 
 ....function controleMdP(champ) { 
........return (champ == "") ? "Veuillez renseigner un mot de 
passe.\n" : ""  
....} 
</script>
 

Les trois fonctions retournent une chaîne vide s’il y a du contenu dans la variable champ passée en paramètre. Pour cela, on a utilisé une expression ternaire, qui pourrait tout aussi bien s’écrire à l’aide d’une instruction if pour rendre la lecture plus lisible :


<script> 
    function controleNom(champ) { 
          if (champ == "")  
                return "" 
          else 
                return "Veuillez renseigner un nom.\n" 
    } 
 
    function controlePrenom(champ) { 
          if (champ == "")  
          ...