Formulaire verification

oraile Messages postés 5 Date d'inscription mardi 1 juin 2010 Statut Membre Dernière intervention 9 juin 2010 - 1 juin 2010 à 10:55
oraile Messages postés 5 Date d'inscription mardi 1 juin 2010 Statut Membre Dernière intervention 9 juin 2010 - 2 juin 2010 à 11:08
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 :

<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>


<form name="devis" id="devis" action="envoiedevis.php" method="post" onSubmit="return check();"">
 
<fieldset>
    	<legend>Vous</legend>
        	<label for="civilite">Civilité :</label>


Monsieur 
Madame
Mademoiselle


<label for="nomContact">Nom :</label>


            <label for="prenomContact">Prénom : </label>


            <label for="professionContact">Profession : </label>


<label>Couvert par : </label>
<select name="couvertContact">
<option value="NOMPRESELECTIONNE">NOMPRESELECTIONNE</option>
<option value="A REMPLIR">A REMPLIR</option></select>


Date de naissance :
 
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évrier</option>
  <option>Mars</option>
  <option>Avril</option>
  <option>Mai</option>
  <option>Juin</option>
  <option>Juillet</option>
  <option>Août</option>
  <option>Septembre</option>
  <option>Octobre</option>
  <option>Novembre</option>
  <option>Décembre</option>
 </select>

Année 



     </fieldset>
     
     <fieldset>
    	<legend>Votre conjoint</legend>
        Souhaitez vous faire adhérer votre conjoint ?


<label for="nomConjoin">Nom : </label>


        <label for="prenomConjoin">Prénom : </label>


        <label for="professionConjoin">Profession : </label>


        Date de naissance :
 
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évrier</option>
  <option>Mars</option>
  <option>Avril</option>
  <option>Mai</option>
  <option>Juin</option>
  <option>Juillet</option>
  <option>Août</option>
  <option>Septembre</option>
  <option>Octobre</option>
  <option>Novembre</option>
  <option>Décembre</option>
 </select>
Année 

     
     </fieldset>
     
 <fieldset>
<legend>Enfants</legend>    
<label>Nombre d'enfants : </label>


     </fieldset>
 
     <fieldset>
    	<legend>Vos Coordonnées</legend>        
<label for="adresse">Adresse : </label>


            <label for="cp">Code postal : </label>


            <label for="localite">Localité : </label>


<label for="telephone">Téléphone : </label>


            <label for="email">E-mail : </label>


     </fieldset>


     


</form>
 

2 réponses

Zobibol Messages postés 469 Date d'inscription mercredi 9 janvier 2002 Statut Membre Dernière intervention 20 février 2017 6
1 juin 2010 à 15:34
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:


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:

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]
0
oraile Messages postés 5 Date d'inscription mardi 1 juin 2010 Statut Membre Dernière intervention 9 juin 2010
2 juin 2010 à 11:08
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 ;)
0
Rejoignez-nous