source de tstjs2f.htm

 
<HTML>
<HEAD>
  <TITLE>test javascript n°2 - version formulaire</TITLE>
  <SCRIPT language="JavaScript">
  function TestNb(nb,sonNom)
   { 
    if(nb.length<1)
          {
                 alert("champ " + sonNom + " non rempli !");
                 return 0; //pas la peine de continuer dès la 1ère erreur
          }
    for (var i = 0; i < nb.length ; i++) //on déclare une variable au moment où on en a besoin
       {
       var ch = nb.substring (i,i+1); //j'isole chaque caractère
       if ((ch<"0" || ch>"9") && ch!="." && ch!="-" )
          {
                 alert("valeur réelle de " + sonNom + " non valide.");
                 return 0; //pas la peine de continuer dès erreur
          }
       }
     return nb; //si la boucle est finie, je n'ai trouvé aucune erreur
   }
  function main(formulaire)
   {
        var pu = TestNb(formulaire.prix.value,"prix"); 
        var q = TestNb(formulaire.quantite.value,"quantité");   

        var tot=pu*q;
        formulaire.total.value = tot ;
   }
  </script>
</HEAD>

<BODY bgcolor="#FFFFBB" background="/img/fond-var.gif">
<H1 align="center">test programmation javascript</H1>
<H2 align="center">exemple 2 - avec test des champs (version formulaire)</H2>

<P>Ici, nous allons lancer un programme (très simple). Il vous 
   demandera de saisir <u>toutes</u> les données (dans des champs de formulaires), 
   puis, quand vous lancerez le programme, il fera tous les calculs et vous affichera
   ses résultats. Une vérification de cohérence de vos données ne sera faite dans 
   cette version (champs texte, vides ou négatifs).</P>

<FORM name="in_out">
  <TABLE border=0>
   <TR><TD>prix unitaire : </TD><TD>
     <INPUT type="text" size="10" name="prix"></TD></TR>
   <TR><TD>quantité : </TD><TD>
     <INPUT type="text" size="10" name="quantite"></TD></TR>
   <TR><TD>prix total </TD><TD>
     <INPUT type="text" size="10" name="total" value=" -------- "></TD></TR>
  </TABLE>
  <P><input type="button" value="Lancer le calcul" onClick="main(in_out)"></P>
</FORM>

<HR>
<P><A HREF="http://pat.trau.fr/">Patrick Trau</A>,
   <A HREF="http://www-ipst.u-strasbg.fr/">IPST</A>,
   <A HREF="http://www-ulp.u-strasbg.fr/">Université Louis Pasteur</A>
   Strasbourg,  mai 2002</P>
</BODY>
</HTML>

Patrick Trau, IPST, Université Louis Pasteur Strasbourg, mai 2002