Qui n'a pas entendu parler des formulaires!!! On peut en creer une avec les applets JAVA, les cookies ou avec des fichiers CGI (Common Gateway Interface) avec un logiciel approprié,.. ou tout simplement en surfant sur le net. En effet, on peut y trouver des formulaires gratuites. Ces fichiers (*.pl ou *.cgi) permettent le transport et traitement des données vers/au serveur et vers/au l'utilisateur. Prenons le cas très simple d'une formulaire que j'ai obtenu sur le site de DevParadise. On s'inscrit gratuitement et un numéro "ID" vous sera fourni par voie électronique qu'il faut ajouter au code source. Le code fourni est le suivant à qui j'ai ajouter quelques codes pour pouvoir tester les champs avant d'envoyer le formulaire. En effet, le code fourni ne teste que l'adresse e-mail du client sans prendre en compte si celui-ci a mis son nom et ses requetes. Ce qui est normale car ils ne peuvent pas prévoir le nombre de champs que vous allez introduire dans le formulaire. Les codes que j'ai introduites sont mis en rouge et permet de tester si le client met son nom et tape quelques remarques. Dans le formulaire (<FORM>), pour avoir accès aux éléments, il faut avant tout lui donner un nom (NAME="formulaire). On accède ainsi aux éléments par : document.formulaire.element.value. La fonction test_champs() écrit entre les balises <Script language="Javascript"> et </Script> permet de faire les tests. Pour que ces tests soient effectués avant que le formulaire soit renvoyé, il faut ajouter l'instruction On Submit="return test_champs()" dans la balise <FORM>.
| <form NAME="formulaire" METHOD="post" ACTION="http://www.devparadise.com/cgi-bin/mailto.pl" OnSUBMIT="return test_champs()"> <input type="hidden" name="ID" value="mettre la valeur fournie"><input type="hidden" name="sujet" value="Commentaires, remarques ou critiques"><input type="hidden" name="url" value="http://perso.wanadoo.fr/fazil.rajabalee/e_mail.htm"><strong><p>Je vous remercie d'avance pour vos conseils, remarques ou...critiques. Remplissez le formulaire ci-dessous et cliquez sur ENVOYER. Je vous répondrai dans les jours qui suivent...</strong></p> <p> </p> <div align="center"><center><table border="2" width="68%" height="229" style="border: medium ridge rgb(255,0,0)" background="Images/Clouds.jpg"> <tr> <td width="28%" align="center" height="44"><strong>Votre nom :</strong></td> <td width="72%" align="center" height="44"><input type="text" name="Nom" size="24" style="border"></td> </tr> <tr> <td width="28%" align="center" height="41"><strong>Votre e-mail:</strong></td> <td width="72%" align="center" height="41"><input type="text" name="mailfrom" size="20" style="border"></td> </tr> <tr> <td width="28%" align="center" height="94"><strong>Tapez votre texte</strong></td> <td width="72%" align="center" height="94"><textarea rows="5" name="Texte" cols="36" style="border"></textarea></td> </tr> </table> </center></div><div align="center"><center><p><input type="submit" value="Envoyer" </p> </p> </center></div><div align="center"><center><p><a href="main_fr.htm"><img src="Images/Arrow15.GIF" width="50" height="20" alt="Arrow15.GIF (1338 octets)"></a></p> </center></div><div align="center"><center><p> </p> </center></div> </form> |
< script language="javaScript">function test_champs() { val = document.formulaire.Nom.value; valeur = "abcdefghijklmnopqrstuvwxyz-"; if (val=="") { alert("Vous avez oublié d'entrer votre nom"); document.formulaire.Nom.focus(); return false; } val1 = val.toLowerCase(); longueur = val1.length; for (i=0;i<longueur;i++) { lettre = val1.charAt(i); index = valeur.indexOf(lettre); if (index==-1) { alert("Les noms de contiennent que de lettres !!!"); document.formulaire.Nom.focus(); return false; } } email_val = document.formulaire.mailfrom.value; index1 = email_val.indexOf('@'); if (index1 == -1) { alert("Vous n'avez pas spécifié votre e-mail ou l'adresse ne contient pas le symbol @! \n\n ATTENTION: entrer une adresse e-mail valide"); document.formulaire.mailfrom.focus(); return false; } texte = document.formulaire.Texte.value; if (texte == "") { alert("rien à dire!!!"); document.formulaire.Texte.focus(); return false; } } < /script> |