Valid XHTML    Valid CSS2    

Listing du fichier formulairejs.htm

 

00001     <?xml version="1.0" encoding="ISO-8859-1" ?>
00002     <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
00003     <html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr">
00004     <head>
00005     <link rel="stylesheet" type="text/css" href="std.css" title="gh" />
00006     <title>
00007     Exemple de formulaire plus ou moins bien validé en javascript
00008     </title>
00009     
00010     <script type="text/javascript" language="javascript">
00011     
00012     function valide(f) {
00013     
00014      // la technique ok = 1 par défaut et ok = 0 en cas d'erreur
00015      // n'est pas aussi évoluée que err = 0 puis
00016      // err += 1, err += 2, err += 4, err += 8...
00017     
00018      var ok = 1 ;
00019     
00020      if (f.nom.value) { // pas aussi propre que f.nom.value.length>0
00021      alert(" bonjour "+f.nom.value)
00022      } else {
00023      alert(" vous n'avez pas rempli le nom")
00024      ok = 0 ;
00025      } ; // fin de si
00026     
00027      var lage = f.age.value ;
00028      var moner = new RegExp("^[ 0-9]+$");
00029      // var moner = new RegExp("^ *[0-9]+ *$");
00030      if (moner.test(lage)) {
00031      if (lage<18) {
00032      // ne fonctionne pas avec "2 5" comme age
00033      // car lage est une chaine : il manque parseInt, bien sur
00034      alert(" votre age ("+lage+" ans) est trop petit") ;
00035      ok = 0 ;
00036      } ; // fin de si
00037      } else {
00038      alert("mais ce n'est pas un nombre !") ;
00039      ok = 0 ;
00040      } ; // fin de si
00041      if (ok==1) { f.submit() ; } ;
00042     
00043     } ; // fin de fonction valide
00044     
00045     </script>
00046     
00047     </head>
00048     
00049     <body>
00050     <h1>Exemple de Formulaire validé en javascript </h1>
00051     
00052     Veuillez remplir les champs suivants :
00053     <blockquote>
00054     <form action="suite.htm" method="get">
00055     <table summary="questions">
00056     <tr><td>Nom</td><td><input type="text" name ="nom" class="bleu_pastel" /> </td></tr>
00057     <tr><td>Prénom</td><td><input type="text" name ="prénom" class="bleu_pastel" /> </td></tr>
00058     <tr><td>Votre age </td><td><input type="text" name ="age" class="tajaunec" /> </td></tr>
00059     <tr><td>Votre sexe </td>
00060     <td>
00061     <input type="radio" name ="sexe" /> homme
00062     <input type="radio" name ="sexe" /> femme
00063     </td></tr>
00064     <tr><td>Quel jour ? </td><td>
00065     <select name="jour">
00066     <option> lundi </option>
00067     <option> mardi </option>
00068     <option> merdi </option>
00069     <option> jeudi </option>
00070     <option> vendi </option>
00071     </select>
00072     </td></tr>
00073     </table>
00074     <input type="button" value="valider JS" onclick="valide(this.form)" class="vert_pastel"/>
00075     <input type="button" value="envoyer JS" onclick="alert('js !') ; this.form.submit()" class="orange_pastel" />
00076     <input type="submit" value="envoyer HTML" class="rouge_pastel"/>
00077     </form>
00078     </blockquote>
00079     </body>
00080     </html>

Pour ne pas voir les numéros de ligne, ajoutez &nl=non à la suite du nom du fichier.

 

 

retour gH    Retour à la page principale de   (gH)