begin process at 2012 05 29 08:40:15
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Javascript / DHTML / Ajax

 > 

JavaScript et le navigateur

 > 

Autre

 > 

formulaire verification


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

formulaire verification

mardi 1 juin 2010 à 10:55:24 | formulaire verification

oraile

Bonjour à tous,
J'ai un formulaire à verifier pour le moment tout se passe bien si les champs ne sont pas remplis ou pas remplis correctement l'envoie ne se fait pas et un message d'alerte apparait.

J'aimerais que si la case de type checkbox "assurerConjoin" est coché dans ce cas on n'oblige pas a remplir les champs suivant : nomConjoin, prenomConjoin, professionConjoin, anneeMconjoin

Comment je pourrais faire svp je suis débutante en javascript ?

voici les codes :

Code Javascript :
<script type="text/javascript"> 
function couleur(obj) {
obj.style.backgroundColor = "#FFFFFF";
}


 function check() {
 if(document.devis.nomContact.value == "")  {
   alert("Veuillez entrer votre nom!");
   document.devis.nomContact.focus();
   document.devis.nomContact.style.backgroundColor = "#6187b4";
   return false;
  }
 if(document.devis.prenomContact.value == "") {
   alert("Veuillez entrer votre prénom!");
   document.devis.prenomContact.focus();
   document.devis.prenomContact.style.backgroundColor = "#6187b4";
   return false;
  }
 if(document.devis.professionContact.value == "") {
   alert("Veuillez entrer votre profession!");
   document.devis.professionContact.focus();
   document.devis.professionContact.style.backgroundColor = "#6187b4";
   return false;
  }
   if(document.devis.anneeM.value == "") {
   alert("Veuillez entrer votre année de naissance!");
   document.devis.anneeM.focus();
   document.devis.anneeM.style.backgroundColor = "#6187b4";
   return false;
  }
    var chkC = 1;
 for(i=0;i<document.devis.anneeM.value.length;++i)
   if(document.devis.anneeM.value.charAt(i) < "0"
   || document.devis.anneeM.value.charAt(i) > "9")
     chkC = -1;
 if(chkC == -1) {
   alert("Votre année de naissance doit être un nombre!");
   document.devis.anneeM.focus();
     document.devis.anneeM.style.backgroundColor = "#6187b4";
   return false;
  }

  
   if(document.devis.nomConjoin.value == "") {
   alert("Veuillez entrer le nom de votre conjoint!");
   document.devis.nomConjoin.focus();
   document.devis.nomConjoin.style.backgroundColor = "#6187b4";
   return false;
  }
   if(document.devis.prenomConjoin.value == "") {
   alert("Veuillez entrer le prenom de votre conjoint!");
   document.devis.prenomConjoin.focus();
   document.devis.prenomConjoin.style.backgroundColor = "#6187b4";
   return false;
  }
   if(document.devis.professionConjoin.value == "") {
   alert("Veuillez entrer la profession de votre conjoint!");
   document.devis.professionConjoin.focus();
   document.devis.professionConjoin.style.backgroundColor = "#6187b4";
   return false;
  }
   if(document.devis.anneeMconjoin.value == "") {
   alert("Veuillez entrer l'année de naissance de votre conjoint!");
   document.devis.anneeMconjoin.focus();
   document.devis.anneeMconjoin.style.backgroundColor = "#6187b4";
   return false;
  }
   var chkB = 1;
 for(i=0;i<document.devis.anneeMconjoin.value.length;++i)
   if(document.devis.anneeMconjoin.value.charAt(i) < "0"
   || document.devis.anneeMconjoin.value.charAt(i) > "9")
     chkB = -1;
 if(chkB == -1) {
   alert("L'année de naissance de votre conjoint doit être un nombre!");
   document.devis.anneeMconjoin.focus();
     document.devis.anneeMconjoin.style.backgroundColor = "#6187b4";
   return false;
  }
 
  
  if(document.devis.adresse.value == "") {
   alert("Veuillez entrer votre adresse!");
   document.devis.adresse.focus();
   document.devis.adresse.style.backgroundColor = "#6187b4";
   return false;
  }
  if(document.devis.cp.value == "") {
   alert("Veuillez entrer votre code postal!");
   document.devis.cp.focus();
   document.devis.cp.style.backgroundColor = "#6187b4";
   return false;
  }
  var chkA = 1;
 for(i=0;i<document.devis.cp.value.length;++i)
   if(document.devis.cp.value.charAt(i) < "0"
   || document.devis.cp.value.charAt(i) > "9")
     chkA = -1;
 if(chkA == -1) {
   alert("Le code postal doit être composé de chiffre!");
   document.devis.cp.focus();
   document.devis.cp.style.backgroundColor = "#6187b4";
   return false;
  }
  
  
  if(document.devis.localite.value == "") {
   alert("Veuillez entrer votre ville de résidence!");
   document.devis.localite.focus();
   document.devis.localite.style.backgroundColor = "#6187b4";
   return false;
  }
  
   if(document.devis.telephone.value == "") {
   alert("Veuillez entrer votre numero de téléphone!");
   document.devis.telephone.focus();
   document.devis.telephone.style.backgroundColor = "#6187b4";
   return false;
  }
var chkD = 1;
 for(i=0;i<document.devis.telephone.value.length;++i)
   if(document.devis.telephone.value.charAt(i) < "0"
   || document.devis.telephone.value.charAt(i) > "9")
     chkD = -1;
 if(chkD == -1) {
   alert("Le numero de téléphone ne doit etre composé que de chiffre!");
   document.devis.telephone.focus();
   return false;
  }

  
 if(document.devis.email.value.indexOf('@') == -1) {
   alert("Ce n'est pas une adresse électronique!");
   document.devis.email.focus();
   	document.devis.email.style.backgroundColor = "#6187b4";
   return false;
  }
 if(document.devis.nb_enfant.value == "") {
   alert("Veuillez entrer le nombre d'enfant que vous avez!");
   document.devis.nb_enfant.focus();
   	document.devis.nb_enfant.style.backgroundColor = "#6187b4";
   return false;
  }
 var chkZ = 1;
 for(i=0;i<document.devis.nb_enfant.value.length;++i)
   if(document.devis.nb_enfant.value.charAt(i) < "0"
   || document.devis.nb_enfant.value.charAt(i) > "9")
     chkZ = -1;
 if(chkZ == -1) {
   alert("Le nombre d'enfant doit être un chiffre si vous n'en avez pas mettez zero!");
   document.devis.nb_enfant.focus();
   document.devis.nb_enfant.style.backgroundColor = "#6187b4";
   return false;
  }
}
	</script>


Code HTML :
<form name="devis" id="devis" action="envoiedevis.php" method="post" onSubmit="return check();"">
 
	<fieldset>
    	<legend>Vous</legend>
        	<p><label for="civilite">Civilit&eacute; :</label></p>
			<input type="radio" name="civilite" id="civiliteMonsieur" value="Monsieur" />Monsieur 
			<input type="radio" name="civilite" id="civiliteMadame" value="Madame" />Madame
			<input type="radio" name="civilite" id="civiliteMadame" value="Mademoiselle" />Mademoiselle</p>
			<p><label for="nomContact">Nom :</label>
			<input type="text" name="nomContact" id="nomContact" onKeyUp="javascript:couleur(this);"/></p>
            <p><label for="prenomContact">Pr&eacute;nom : </label>
			<input type="text" name="prenomContact" id="prenomContact" onKeyUp="javascript:couleur(this);"/></p>
            <p><label for="professionContact">Profession : </label>
			<input type="text" name="professionContact" id="professionContact" onKeyUp="javascript:couleur(this);"/></p>
			<p><label>Couvert par : </label>
			<select name="couvertContact">
			<option value="NOMPRESELECTIONNE">NOMPRESELECTIONNE</option>
			<option value="A REMPLIR">A REMPLIR</option></select></p>
			<p>Date de naissance :<br /> 
			Jour :
			<select name="jourM" id="jourM">
			  <option>1</option>
			  <option>2</option>
			  <option>3</option>
			  <option>4</option>
			  <option>5</option>
			  <option>6</option>
			  <option>7</option>
			  <option>8</option>
			  <option>9</option>
			  <option>10</option>
			  <option>11</option>
			  <option>12</option>
			  <option>13</option>
			  <option>14</option>
			  <option>15</option>
			  <option>16</option>
			  <option>17</option>
			  <option>18</option>
			  <option>19</option>
			  <option>20</option>
			  <option>21</option>
			  <option>22</option>
			  <option>23</option>
			  <option>24</option>
			  <option>25</option>
			  <option>26</option>
			  <option>27</option>
			  <option>28</option>
			  <option>29</option>
			  <option>30</option>
			  <option>31</option>
			</select>
			Mois :
			 <select name="moisM" id="moisM">
			  <option>Janvier</option>
			  <option>F&eacute;vrier</option>
			  <option>Mars</option>
			  <option>Avril</option>
			  <option>Mai</option>
			  <option>Juin</option>
			  <option>Juillet</option>
			  <option>Ao&ucirc;t</option>
			  <option>Septembre</option>
			  <option>Octobre</option>
			  <option>Novembre</option>
			  <option>D&eacute;cembre</option>
			 </select>

			Ann&eacute;e 
			<input name="anneeM" id="anneeM" type="text" style="width:40px;" onKeyUp="javascript:couleur(this);" maxlength="5">
			</p>
     </fieldset>
     
     <fieldset>
    	<legend>Votre conjoint</legend>
        <p>Souhaitez vous faire adhérer votre conjoint ?
		<input type="checkbox" id="assurerConjoin"/></p>
		<p><label for="nomConjoin">Nom : </label>
		<input type="text" name="nomConjoin" id="nomConjoin" onKeyUp="javascript:couleur(this);"/></p>
        <p><label for="prenomConjoin">Pr&eacute;nom : </label>
		<input type="text" name="prenomConjoin" id="prenomConjoin" onKeyUp="javascript:couleur(this);"/></p>
        <p><label for="professionConjoin">Profession : </label>
		<input type="text" name="professionConjoin" id="professionConjoin" onKeyUp="javascript:couleur(this);"/></p>
        <p>Date de naissance :<br /> 
			Jour :
			<select name="jourM" id="jourM">
			  <option>1</option>
			  <option>2</option>
			  <option>3</option>
			  <option>4</option>
			  <option>5</option>
			  <option>6</option>
			  <option>7</option>
			  <option>8</option>
			  <option>9</option>
			  <option>10</option>
			  <option>11</option>
			  <option>12</option>
			  <option>13</option>
			  <option>14</option>
			  <option>15</option>
			  <option>16</option>
			  <option>17</option>
			  <option>18</option>
			  <option>19</option>
			  <option>20</option>
			  <option>21</option>
			  <option>22</option>
			  <option>23</option>
			  <option>24</option>
			  <option>25</option>
			  <option>26</option>
			  <option>27</option>
			  <option>28</option>
			  <option>29</option>
			  <option>30</option>
			  <option>31</option>
			</select>
			Mois :
			 <select name="moisM" id="moisM">
			  <option>Janvier</option>
			  <option>F&eacute;vrier</option>
			  <option>Mars</option>
			  <option>Avril</option>
			  <option>Mai</option>
			  <option>Juin</option>
			  <option>Juillet</option>
			  <option>Ao&ucirc;t</option>
			  <option>Septembre</option>
			  <option>Octobre</option>
			  <option>Novembre</option>
			  <option>D&eacute;cembre</option>
			 </select>
			Ann&eacute;e 
			<input name="anneeMconjoin" id="anneeMconjoin" type="text" style="width:40px;" onKeyUp="javascript:couleur(this);" maxlength="4"></p>     
     </fieldset>
     
	 <fieldset>
			<legend>Enfants</legend>    
			<p><label>Nombre d'enfants : </label>
			<input type="texte" name="nb_enfant" id="nb_enfant" style="width:30px;" onKeyUp="javascript:couleur(this);"/></p>
     </fieldset>
	 
     <fieldset>
    	<legend>Vos Coordonn&eacute;es</legend>        
			<p><label for="adresse">Adresse : </label>
			<input type="text" name="adresse" id="adresse" onKeyUp="javascript:couleur(this);"/></p>
            <p><label for="cp">Code postal : </label>
			<input type="text" name="cp" id="cp" onKeyUp="javascript:couleur(this);" maxlength="5"/></p>
            <p><label for="localite">Localit&eacute; : </label>
			<input type="text" name="localite" id="localite" onKeyUp="javascript:couleur(this);"/></p>
			<p><label for="telephone">T&eacute;l&eacute;phone : </label>
			<input type="text" name="telephone" id="telephone" onKeyUp="javascript:couleur(this);" maxlength="10"/></p>
            <p><label for="email">E-mail : </label>
			<input type="text" name="email" id="email" onKeyUp="javascript:couleur(this);"/></p>
     </fieldset>
		<br />
     <p align="center"><input type="submit" name="envoie" value="Envoyer votre demande" style="width:150px;" onclick="return envoie(this.form)"/></p>
</form>
 





mardi 1 juin 2010 à 15:34:04 | Re : formulaire verification

Zobibol

Membre Club
Bien le bonjour. Si j'ai bien compris,il faut qu'a partir du moment ou la case "assurer votre conjoint est cochée" il n'y ait pas de vérification des informations du conjoint...
(ne serait-ce point l'inverse ?)
ça va faire une méthode check comme suit:


Code Javascript :
function check() {
 if(document.devis.nomContact.value == "")  {
   alert("Veuillez entrer votre nom!");
   document.devis.nomContact.focus();
   document.devis.nomContact.style.backgroundColor = "#6187b4";
   return false;
  }
 if(document.devis.prenomContact.value == "") {
   alert("Veuillez entrer votre prénom!");
   document.devis.prenomContact.focus();
   document.devis.prenomContact.style.backgroundColor = "#6187b4";
   return false;
  }
 if(document.devis.professionContact.value == "") {
   alert("Veuillez entrer votre profession!");
   document.devis.professionContact.focus();
   document.devis.professionContact.style.backgroundColor = "#6187b4";
   return false;
  }
   if(document.devis.anneeM.value == "") {
   alert("Veuillez entrer votre année de naissance!");
   document.devis.anneeM.focus();
   document.devis.anneeM.style.backgroundColor = "#6187b4";
   return false;
  }
    var chkC = 1;
 for(i=0;i<document.devis.anneeM.value.length;++i)
   if(document.devis.anneeM.value.charAt(i) < "0"
   || document.devis.anneeM.value.charAt(i) > "9")
     chkC = -1;
 if(chkC == -1) {
   alert("Votre année de naissance doit être un nombre!");
   document.devis.anneeM.focus();
     document.devis.anneeM.style.backgroundColor = "#6187b4";
   return false;
  }
  // ne fais la vérification que si, la zone assurerConjoin est décochée.
  if ( !document.devis.assurerConjoin.checked){
	   if(document.devis.nomConjoin.value == "") {
	   alert("Veuillez entrer le nom de votre conjoint!");
	   document.devis.nomConjoin.focus();
	   document.devis.nomConjoin.style.backgroundColor = "#6187b4";
	   return false;
	  }
	   if(document.devis.prenomConjoin.value == "") {
	   alert("Veuillez entrer le prenom de votre conjoint!");
	   document.devis.prenomConjoin.focus();
	   document.devis.prenomConjoin.style.backgroundColor = "#6187b4";
	   return false;
	  }
	   if(document.devis.professionConjoin.value == "") {
	   alert("Veuillez entrer la profession de votre conjoint!");
	   document.devis.professionConjoin.focus();
	   document.devis.professionConjoin.style.backgroundColor = "#6187b4";
	   return false;
	  }
	   if(document.devis.anneeMconjoin.value == "") {
	   alert("Veuillez entrer l'année de naissance de votre conjoint!");
	   document.devis.anneeMconjoin.focus();
	   document.devis.anneeMconjoin.style.backgroundColor = "#6187b4";
	   return false;
	  }
	   var chkB = 1;
	 for(i=0;i<document.devis.anneeMconjoin.value.length;++i)
	   if(document.devis.anneeMconjoin.value.charAt(i) < "0"
	   || document.devis.anneeMconjoin.value.charAt(i) > "9")
		 chkB = -1;
	 if(chkB == -1) {
	   alert("L'année de naissance de votre conjoint doit être un nombre!");
	   document.devis.anneeMconjoin.focus();
		 document.devis.anneeMconjoin.style.backgroundColor = "#6187b4";
	   return false;
	  }
	 }
 
  
  if(document.devis.adresse.value == "") {
   alert("Veuillez entrer votre adresse!");
   document.devis.adresse.focus();
   document.devis.adresse.style.backgroundColor = "#6187b4";
   return false;
  }
  if(document.devis.cp.value == "") {
   alert("Veuillez entrer votre code postal!");
   document.devis.cp.focus();
   document.devis.cp.style.backgroundColor = "#6187b4";
   return false;
  }
  var chkA = 1;
 for(i=0;i<document.devis.cp.value.length;++i)
   if(document.devis.cp.value.charAt(i) < "0"
   || document.devis.cp.value.charAt(i) > "9")
     chkA = -1;
 if(chkA == -1) {
   alert("Le code postal doit être composé de chiffre!");
   document.devis.cp.focus();
   document.devis.cp.style.backgroundColor = "#6187b4";
   return false;
  }
  
  
  if(document.devis.localite.value == "") {
   alert("Veuillez entrer votre ville de résidence!");
   document.devis.localite.focus();
   document.devis.localite.style.backgroundColor = "#6187b4";
   return false;
  }
  
   if(document.devis.telephone.value == "") {
   alert("Veuillez entrer votre numero de téléphone!");
   document.devis.telephone.focus();
   document.devis.telephone.style.backgroundColor = "#6187b4";
   return false;
  }
var chkD = 1;
 for(i=0;i<document.devis.telephone.value.length;++i)
   if(document.devis.telephone.value.charAt(i) < "0"
   || document.devis.telephone.value.charAt(i) > "9")
     chkD = -1;
 if(chkD == -1) {
   alert("Le numero de téléphone ne doit etre composé que de chiffre!");
   document.devis.telephone.focus();
   return false;
  }

  
 if(document.devis.email.value.indexOf('@') == -1) {
   alert("Ce n'est pas une adresse électronique!");
   document.devis.email.focus();
   	document.devis.email.style.backgroundColor = "#6187b4";
   return false;
  }
 if(document.devis.nb_enfant.value == "") {
   alert("Veuillez entrer le nombre d'enfant que vous avez!");
   document.devis.nb_enfant.focus();
   	document.devis.nb_enfant.style.backgroundColor = "#6187b4";
   return false;
  }
 var chkZ = 1;
 for(i=0;i<document.devis.nb_enfant.value.length;++i)
   if(document.devis.nb_enfant.value.charAt(i) < "0"
   || document.devis.nb_enfant.value.charAt(i) > "9")
     chkZ = -1;
 if(chkZ == -1) {
   alert("Le nombre d'enfant doit être un chiffre si vous n'en avez pas mettez zero!");
   document.devis.nb_enfant.focus();
   document.devis.nb_enfant.style.backgroundColor = "#6187b4";
   return false;
  }
}


si toutefois il faut vérifier si la case est cochée alors il suffit de supprimer le "!" devant:

Code Javascript :
if ( !document.devis.assurerConjoin.checked){


et le tour est joué.
Petite remarque au passage, les expressions régulières ça a du bon (pour les mails et on en trouve à foison sur le net et ce superbe site). et enfin les corses ? ils ont des lettres dans leurs code postaux.

Voilà
[o-_-o]
mercredi 2 juin 2010 à 11:08:39 | Re : formulaire verification

oraile

Oui exact c'est l'inverse je me suis mal exprimée.

Merci de ton aide en effet ca fonctionne !

Exact pour le code postal je n'y avait pas pensé qu'il pouvait y avoir des lettres, merci de cette remarque pertinente je vais voir ca ;)


Cette discussion est classée dans : style, document, devis, backgroundcolor, if


Répondre à ce message

Sujets en rapport avec ce message

Je dois cliquer 2 fois pour que ma case se selectionne, pk???!!! [ par malhivertman1 ] Bon ben mon sujet dit tout.Je colle mon code entierement pour permmettre a qq de pouvoir faire un copier collé et voir mon probleme et le resoudr si p 2 menuS deroulants java dans une page [ par DEVLYNE ] Bonjour!Sachez que je suis uns très grande débutante mais j'ai un petit souci.J'utilise un logiciel gratuit: Coffee Cup DHTML menu pour faire mes menu script que j'aimerai modifier [ par betsie ] Bonjour Voilà, j'ai ce script pour une horloge analogique, mais j'aimerai pourvoir le modifier pour qu'elle soit légèrement plus à gauche et légèremen Info-bulle avec usermap [ par f1hgu ] Bonjour,Dans le but de développer mon site, j'étais à la recherche d'un script faisant une info bulle avec un usermap et des areas shape. Ne trouvant, Pb avec Firefox et DOCTYPE strict [ par nico03 ] Bonjour, J'ai créé une page web sous DOCTYPE strict XHTML 1.0 permettant d'afficher un texte défilant. Ce texte reprend les titres des news de la pa Comment puis-je améliorer ce script ??? [ par nanti ] Bonjour à tous !Tout d'abord, j'espère être dans le bon thème... !?Comme annoncer, je souhaite améliorer ces scripts pour n'en faire qu'un qui soit op Modification dynamique d'un formulaire [ par Romain54000 ] Bonjour, Voila j'ai un probléme dont je ne trouve malheureusement pas de réponse. Je voudrai partir d'une liste déroulante avec plusieurs choix, suiv Ajax Probleme de recuperation du caracteres & et de ce qui le suit [ par lesucces ] Bonjour J'ai un formulaire ajax qui me permet de recuperer les données d'un textareas et ça marche correctement sauf que quand je tape le caractere & Soucis d'affichage de données apres requete SQL dans un popup DHTML. [ par Pierre54000 ] Bonjour, J'ai un soucis avec un Popup DHTML dans lequel je n'arrive pas à afficher dynamiquement le contenu des champs de ma Bdd. J'ai une petit Modif innerHTML d'un div entre 2 XMLHttpRequest synchrones sous IE [ par pacadebord ] Bonjour, Je suis en train de concevoir un outil qui, au clic sur un bouton, parcours les lignes d'un tableau, chaque ligne contenant 3 colonnes (pour


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 : 0,718 sec (3)

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