UP PREVIOUS NEXT   Technologies Internet et Education, © TECFA
  4. Traitement de formulaires avec Javascript

4. Traitement de formulaires avec Javascript

4.1 Un simple quiz

Exemple 4-1: Simple quiz avec Javascript

 

Voici le code:

<HTML>
  <HEAD>
    <TITLE>Un simple test avec JavaScript (18-Nov-1997)</TITLE>
    <!-- Created by: D.K.S., 18-Nov-1997 -->
<script language=JavaScript>
     // Initialisation de variables
      var q1 = 1;
      var q2 = 1;
    // calcul
      function calculer () {
      score = q1 + q2;
      alert("Sur une échelle qui va de 2 à 6 vous avez " + score)
      }
</script>
</HEAD>
  <BODY>
    <H1>Un simple test avec JavaScript</H1>
Cette page montre comment faire un simple test avec Javascript.
Remplissez le formulaire suivant SVP: <P>
<hr><form>
Quelles sont vos connaissances de HTML ?
<input type="radio" name="choice" value="1" onClick="q1=1" checked>faibles
<input type="radio" name="choice" value="2" onClick="q1=2">moyennes
<input type="radio" name="choice" value="3" onClick="q1=3">bonnes
<br>
Indiquez votre expertise en programmation:
<input type="radio" name="choice2" value="1" onClick="q2=1" checked>absente
<input type="radio" name="choice2" value="2" onClick="q2=2">moyenne
<input type="radio" name="choice2" value="3" onClick="q2=3">bonne
<P>
<input type="button" name="ProcessButton" value="Voir le résultat!"
       onClick="calculer()">
</form><hr>
</HTML>

A retenir:

<input type="radio" name="choice" value="1" onClick="q1=1" checked>faibles
<input type="radio" name="choice" value="2" onClick="q1=2">moyennes
<input type="radio" name="choice" value="3" onClick="q1=3">bonnes
<input type="button" name="ProcessButton" value="Voir le résultat!"
       onClick="calculer()">
 function calculer () {
      score = q1 + q2;
      alert("Sur une échelle qui va de 2 à 6 vous avez " + score)
      }

A. Une méthode alternative pour traiter un formulaire

Exemple 4-2: Interrogation d'un formulaire

4.2 Vérification d'un formulaire I

A retenir:

      var q1 = -1;
      var q2 = -1;
   function verif () {
     if ( (q1 < 0) || (q2 < 0) ) {
       alert ("Il faudrait remplir tous les champs SVP !");
       return false;
     }
     else return true;
}
   function calculer () {
     // Si verif retourn false on quitte le navire
     if (!verif()) return ;
     // sinon on continue
     score = q1 + q2;
     alert("Sur une échelle qui va de 2 à 6 vous avez " + score) ;}

4.3 Vérification d'un formulaire (II)

Exemple 4-3: Vérification d'un formulaire

Cet exemple reprend le formulaire discuté dans le module "Les formulaires HTML" et y ajoute deux fonctions Javascript permettant de vérifier que l'utilisateur n'a pas laissé de champs vides.

 

A remarquer:

AVANT

      <input type="submit" value="Envoi">

APRES (avec vérification):

      <input type="button" value="Envoi"              onClick="checkForm(this.form)">
<HTML>
<HEAD>
<SCRIPT LANGUAGE="JavaScript">
function checkBlank(input,msg)
{
  if (input.value == null || input.value.length == 0) {
    alert ("Il faut remplir les champs Nom et Email");
    return false;
  }
  return true;
}
function checkForm(form)
{
  if (
      !checkBlank(form.nom) ||
      !checkBlank(form.email)) {
    return false;
  }
  form.submit();
    alert ("Merci pour votre reponse ...");
  return true;
}
</SCRIPT>
</HEAD>
<BODY>
<h1>Vérification de formulaire avec Javascript</h1>
<form enctype="application/x-www-form-urlencoded" 
  action="mailto:Patrick.Jermann@tecfa.unige.ch" method=post>
Votre Nom <input type="text" name="nom" size=15> <p>
Votre email <input type="text" name="email" size=15> <p>
Votre commentaire <textarea name="comment" rows=5 cols=30></textarea><p>
<input type="button" value="Envoi" onClick="checkForm(this.form)">
<input type="reset" value="Effacer">
</form>
</BODY></HTML>

A. Vérification d'un formulaire (III)

1) est ce que les champs en question ont une valeur (est-ce que l'utilisateur a tapé quelque chose).

2) Est-ce que les champs sont remplis par autre chose que des espaces ?

Si les questions 1) et 2) ont une reponse positive alors la fonction "checkBlank" retourne la valeur true qui signifie dans notre cas, 'tout est en ordre'. Dès lors le test dans la fonction chekForm est satisfait et l'appel form.submit() envoie le contenu du formulaire.

Voici la fonction checkBlank modifiée:

(voir la source de la page HTML ci-dessus pour l'ensemble)

function checkBlank(input,msg)
{
   if (input.value == null || input.value.length == 0) {
    alert ("Il faut remplir les champs Nom et Email");
    return false;
  }  
  var str = input.value;
  for (var i = 0; i < str.length ;i++){
    var ch = str.substring(i,i+1);
    if ( ch == " ") {
      alert (msg );    
      return false;
    }
  }
  return true;
}

UP PREVIOUS NEXT -- TIE