begin process at 2012 05 28 14:53:37
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Trucs & Astuces

 > UN SEUL ALERT POUR TOUTES LES ERREURS DE VALIDATION D'UN FORMULAIRE.

UN SEUL ALERT POUR TOUTES LES ERREURS DE VALIDATION D'UN FORMULAIRE.


 Information sur la source

Note :
7 / 10 - par 1 personne
7,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Trucs & Astuces Niveau :Initié Date de création :06/08/2004 Vu :6 501

Auteur : semetic

Ecrire un message privé
Commentaire sur cette source (0)
Ajouter un commentaire et/ou une note

 Description

J'étatit en train de concevoir un site web ASP, qunad j'ai rencontré un problème de besoin d'un seul "alert" pour toutes les erreurs générées par la validation d'un formulaire de contact, en fait, c'était un nombre de problème, comment éviter d'ouvrir une nouvelle fenêtre de confirmation si le formulaire n'est pas bien rempli.

M^me si le code semble simple mais j'avais pensé tellement à beaucoup de supposition que j'ai enfin testé celle-là quà parfaitement avec moi.

Source

  • <html>
  • <head>
  • <title>ajout</title>
  • <meta name="generator" content="Namo WebEditor v5.0">
  • <script language="javascript"><!--
  • /***********************************************************************************
  • * *
  • * Ce code est gratuit d'utilisation et de distribution sous réserve *
  • * de ne pas supprimer ces commentaires: *
  • * Auteur: Farid email: sidoummoudz@yahoo.fr SteWeb: http://faridz.united.net.kg *
  • * *
  • ***********************************************************************************/
  • function ouvrir(){ //Cette fonction sera appelée plutard
  • lafenetre=window.open("verifier.asp","lafenetre","height=300,width=550,scrollbars")
  • }
  • function validation (){
  • var lenom = document.all("nom").value;
  • if (lenom == "") // Si le champ nom est vide
  • {
  • ecrire1="- Le champ nom doit être rempli"; // Dans l'alert on note
  • }
  • else // sinon
  • {
  • ecrire1="-------------------------------------------"; // à sa place pour éviter le vide
  • }
  • tele=document.all("tel").value;
  • if (isNaN(tele)) // Si on viole la règle stricte des chiffres seulement
  • {
  • ecrire2="- Le champ téléphone ne doit comporter que des chiffres"; // Dans l'alert on note
  • }
  • else //Sinon
  • {
  • ecrire2="-------------------------------------------"; à sa place pour éviter le vide
  • }
  • capacite=document.laforma.message.value.length;
  • if (capacite>255) //Si le nombre de caractère autorisé est dépassé (ici 255)
  • {
  • ecrire3="- Dépassement non autorisé de limite de 255 caractères car vous avez tapé:"
  • +capacite+" caractères"
  • }
  • else //sinon
  • {
  • ecrire3="-------------------------------------------"; à sa place pour éviter le vide
  • }
  • if (capacite==0) //Si le champ message est vide (nombre de caractère 0)
  • {
  • ecrire4="- Le champ message ne doit pas rester vide" // Dans l'alert on note
  • }
  • else //sinon
  • {
  • ecrire4="-------------------------------------------"; // à sa place pour éviter le vide
  • }
  • /* Il est très important de souligner que vous devez écrire la même chose après les opérateurs que vous avez précédemment fait, par xemple si vous avez écrit pour le champ nom:
  • ecrire1=""; dans ce cas vous écrivez pour ce-que suit: if (ecrire1!="" || etc.... alors imaginez si la faute est située enfin d'un formulaire composé de 10 champs ou plus, cela signifie que vous aurez un alert long plein de vide et qui pas vraiment joli*/
  • if (ecrire1!="-------------------------------------------" || ecrire2!="-------------------------------------------" ||
  • ecrire3!="-------------------------------------------" || ecrire4!="-------------------------------------------") // Si un seul cahmp est mal rempli{
  • // Je vous conseil aussi de ne pas sauter plus de ligne et juste aller à la ligne, c'est à dire ne pas mettre dans l'alert suivant \n\n ou plus mais juste \n comme mon éxemple.
  • alert ("Veuillez réparer les fautes suivantes: \n\n"+ecrire1+"\n"+ecrire2+"\n"+ecrire3+"\n"+ecrire4)
  • return false
  • }
  • else{ // Si le formulaire est bien complété
  • ouvrir()
  • /* on appele la fonction qui ouvrira une nouvelle fenêtre de confirmation de reception des données */
  • }
  • }
  • //Fin du script--></script>
  • </head>
  • <body >
  • <center>
  • <!-- le nom après target c'est le nom de la fêntre qui est la cible de la page de vérification qui nous transporte vers la page de confirmation ensuite en asp, php ou autre langage dynamique -->
  • <form name="laforma" method="post" action="verifier.asp" onSubmit="return(validation())" TARGET="lafenetre" >
  • <p align="center">Nom: <input type="text" name="nom"></center>
  • <p align="center">Tel: <input type="text" name="tel">&nbsp;optionnel</p>
  • <p align="center">Message: <textarea name="message" rows="5" cols="28"></textarea></p>
  • <p align="center"><input type="submit" value="Envoyer" name="envoyer" >
  • <input type="reset" value="Effacer" name="BClear"> </p>
  • </form>
  • <center>
  • </body>
  • </html>
<html>	
<head>
<title>ajout</title>   
<meta name="generator" content="Namo WebEditor v5.0">
<script language="javascript"><!--

/*********************************************************************************** 
*                                                                                  * 
* Ce code est gratuit d'utilisation et de distribution sous réserve                *
* de ne pas supprimer ces commentaires:                                            *
* Auteur: Farid   email: sidoummoudz@yahoo.fr  SteWeb: http://faridz.united.net.kg *
*                                                                                  *
***********************************************************************************/

function ouvrir(){   //Cette fonction sera appelée plutard
lafenetre=window.open("verifier.asp","lafenetre","height=300,width=550,scrollbars")
}

function validation (){   
var lenom   = document.all("nom").value;
	 if (lenom == "")  // Si le champ nom est vide
      {
        ecrire1="- Le champ nom doit être rempli"; // Dans l'alert on note
      }
      else  // sinon
      {
      ecrire1="-------------------------------------------"; // à sa place pour éviter le vide   
      }  


	 tele=document.all("tel").value;      
        if (isNaN(tele)) // Si on viole la règle stricte des chiffres seulement
        {
    ecrire2="- Le champ téléphone ne doit comporter que des chiffres"; // Dans l'alert on note
      }
      else //Sinon
      {
      ecrire2="-------------------------------------------";  à sa place pour éviter le vide 
      }  


       capacite=document.laforma.message.value.length; 
      if (capacite>255) //Si le nombre de caractère autorisé est dépassé (ici 255)
      {
      ecrire3="- Dépassement non autorisé de limite de 255 caractères car vous avez tapé:" 
+capacite+" caractères"
      }
      else //sinon
      {
        ecrire3="-------------------------------------------";  à sa place pour éviter le vide 
      } 
      
      if (capacite==0) //Si le champ message est vide (nombre de caractère 0)
      {
      ecrire4="- Le champ message ne doit pas rester vide" // Dans l'alert on note
      }
      else //sinon
      {
       ecrire4="-------------------------------------------"; // à sa place pour éviter le vide 
      }   
      
       /* Il est très important de souligner que vous devez écrire la même chose après les opérateurs que vous avez précédemment fait, par xemple si vous avez écrit pour le champ nom:
ecrire1=""; dans ce cas vous écrivez pour ce-que suit: if (ecrire1!="" || etc.... alors imaginez si la faute est située enfin d'un formulaire composé de 10 champs ou plus, cela signifie que vous aurez un alert long plein de vide et qui pas vraiment joli*/
         
	  if (ecrire1!="-------------------------------------------" || ecrire2!="-------------------------------------------" || 
	  ecrire3!="-------------------------------------------" || ecrire4!="-------------------------------------------") // Si un seul cahmp est mal rempli{
  // Je vous conseil aussi de ne pas sauter plus de ligne et juste aller à la ligne, c'est à dire ne pas mettre dans l'alert suivant \n\n ou plus  mais juste \n comme mon éxemple.     

alert ("Veuillez réparer les fautes suivantes: \n\n"+ecrire1+"\n"+ecrire2+"\n"+ecrire3+"\n"+ecrire4)
		return false 
	}
	
	else{  // Si le formulaire est bien complété 
	ouvrir() 
/* on appele la fonction qui ouvrira une nouvelle fenêtre de confirmation de reception des données */
        }
}

//Fin du script--></script>

</head>
<body > 
<center>  
 <!-- le nom après target c'est le nom de la fêntre qui est la cible de la page de vérification qui nous transporte vers la page de confirmation ensuite en asp, php ou autre langage dynamique -->   
<form name="laforma"  method="post" action="verifier.asp" onSubmit="return(validation())" TARGET="lafenetre" >
    <p align="center">Nom: <input type="text" name="nom"></center>
     <p align="center">Tel: <input type="text" name="tel">&nbsp;optionnel</p>
     <p align="center">Message: <textarea  name="message" rows="5" cols="28"></textarea></p>
     <p align="center"><input type="submit" value="Envoyer" name="envoyer" >
<input type="reset" value="Effacer" name="BClear"> </p>
    </form>
<center>
 </body>
</html>

 Conclusion

J'espère pouvroir réaliser un code plus efficace, car cela pour le moment c'est pour me débrouiler, et de toute façon merci de m'avertir si vous l'appréciez.

sidoummoudz@yahoo.fr


 Sources du même auteur

COMPTEUR À REBOURS SECONDES, MINUTES ET HEURES DHTML(JAVASCR...
CHANGEMENT DU STYLE DES ZONES DE TEXTE PENDANT LA FOCALISATI...
UN SEUL ALERT POUR TOUTES LES ERREURS DE VALIDATION D'UN FOR...
ENCHAINEMENT DE MESSAGES EN BOUCLE FASCINANT
UN COMPTEUR DE TEMPS GÉNÉRANT SOMME D'ARGENT CORRESPONDANTE

 Sources de la même categorie

PARSER LES CARACTÈRES HTML D'UNE STRING par jdmcreator
CONSTRUCTION D'UNE TABLE TRIABLE À PARTIR D'UN TABLEAU 2D par phm
Source avec Zip Source avec une capture SUBDIVISER LE RÉSULTAT D'UNE RECHERCHE EN PAGES par kimmp
Source avec Zip TIMER : SETTIMEOUT & SETINTERVAL AMÉLIORÉS par jdmcreator
Source avec Zip Source avec une capture ONGLETS ET CHANGEMENT INSTANTANÉ DE LA LANGUE par william voirol

Commentaires et avis

Aucun commentaire pour le moment.

 Ajouter un commentaire




Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,934 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales