Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1701 connectés 

  FORUM HardWare.fr
  Programmation
  HTML/CSS

  besoin d'aide formulaire js switch

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

besoin d'aide formulaire js switch

n°1099578
yas69
Posté le 27-05-2005 à 14:35:33  profilanswer
 

voilà jai créée un formulaire où je voudrai vérifier la validité de la date, afin quell soit sous la forma jj/mm/aaaa.
j'ai le code suivant:
function Verifdate(jour)
 {
var trouve = false;
 
// je vérifie que le premier element de mon input est bien soit 0, soit 1, soit 2, soit3
switch(document.forms[1].elements[jour].value.substring(0,1)) {
 case 0:
trouve = true;
 break;
case 1:
trouve = true;
 break;
 case 2:
trouve = true;
 break;
 case 3:
trouve = true;
 break;
 default:
alert("Rentrez la date sous la forme: jj/mm/aaaa" );  
trouve = false;
 break;
}
 
// je vérifie que le 2eme element de mon input est bien soit 0, soit 1, soit 2, soit3...  
switch(document.forms[1].elements[jour].value.substring(1,2)) {
 case 0:
trouve = true;
 break;
case 1:
trouve = true;
 break;
 case 2:
trouve = true;
 break;
 case 3:
trouve = true;
 break;
 case 4:
trouve = true;
 break;
 case 5:
trouve = true;
 break;
 case 6:
trouve = true;
 break;
 case 7:
trouve = true;
 break;
 case 8:
trouve = true;
 break;
 case 9:
trouve = true;
 break;
 default:
alert("Rentrez la date sous la forme: jj/mm/aaaa" );  
trouve = false;
 break;
}
 
 
switch(document.forms[1].elements[jour].value.substring(3,4)) {
 case 0:
trouve = true;
 break;
case 1:
trouve = true;
 break;
 default:
alert("Rentrez la date sous la forme: jj/mm/aaaa" );  
trouve = false;
 break;
}
 
switch(document.forms[1].elements[jour].value.substring(4,5)) {
 case 0:
trouve = true;
 break;
case 1:
trouve = true;
 break;
 case 2:
trouve = true;
 break;
 default:
alert("Rentrez la date sous la forme: jj/mm/aaaa" );  
trouve = false;
 break;
}
 
 
switch(document.forms[1].elements[jour].value.substring(6,7)) {
 case 0:
trouve = true;
 break;
case 1:
trouve = true;
 break;
 case 2:
trouve = true;
 break;
 case 3:
trouve = true;
 break;
 default:
alert("Rentrez la date sous la forme: jj/mm/aaaa" );  
trouve = false;
 break;
}
 
switch(document.forms[1].elements[jour].value.substring(7,8)) {
 case 0:
trouve = true;
 break;
case 1:
trouve = true;
 break;
 case 2:
trouve = true;
 break;
 case 3:
trouve = true;
 break;
 default:
alert("Rentrez la date sous la forme: jj/mm/aaaa" );  
trouve = false;
 break;
}
 
switch(document.forms[1].elements[jour].value.substring(8,9)) {
 case 0:
trouve = true;
 break;
case 1:
trouve = true;
 break;
 case 2:
trouve = true;
 break;
 case 3:
trouve = true;
 break;
 case 4:
trouve = true;
 break;
 case 5:
trouve = true;
 break;
 case 6:
trouve = true;
 break;
 case 7:
trouve = true;
 break;
 case 8:
trouve = true;
 break;
 case 9:
trouve = true;
 break;
 default:
alert("Rentrez la date sous la forme: jj/mm/aaaa" );  
trouve = false;
 break;
}
 
switch(document.forms[1].elements[jour].value.substring(9,10)) {
 case 0:
trouve = true;
 break;
case 1:
trouve = true;
 break;
 case 2:
trouve = true;
 break;
 case 3:
trouve = true;
 break;
 case 4:
trouve = true;
 break;
 case 5:
trouve = true;
 break;
 case 6:
trouve = true;
 break;
 case 7:
trouve = true;
 break;
 case 8:
trouve = true;
 break;
 case 9:
trouve = true;
 break;
 default:
alert("Rentrez la date sous la forme: jj/mm/aaaa" );  
trouve = false;
 break;
}  }
 
mon input est présenté de la maniere suivante :
<input type="text" name="jour" onChange="Verifdate('jour');">
 
mais qd jexecute le code dans la navigateur, jobtiens 8 alertes, c'est-a-dire que les cas ne sont mm pas pris en compte et il va directement au default.
est-ce que qqun y voit plus clair que moi :cry:  
 
merci  :jap:

mood
Publicité
Posté le 27-05-2005 à 14:35:33  profilanswer
 

n°1099579
FlorentG
Posté le 27-05-2005 à 14:37:31  profilanswer
 

Oh maman [:johneh]

n°1099582
Mara's dad
Yes I can !
Posté le 27-05-2005 à 14:38:56  profilanswer
 
n°1099595
FlorentG
Posté le 27-05-2005 à 14:44:28  profilanswer
 

Code :
  1. <form action="pouet.php" onsubmit="verif()">
  2.   <div>
  3.     <label for="date">Date</label><input type="text" name="date" id="date" />
  4.     <input type="submit" value="Ok" />
  5.   </div>
  6. </form>
  7. <script type="text/javascript">
  8.   function verif() {
  9.      if(!document.getElementById('date').value.match(new RegExp(/^(((0?[1-9]|[12]\d|3[01])[\.\-\/](0?[13578]|1[02])[\.\-\/]((1[6-9]|[2-9]\d)?\d{2}))|((0?[1-9]|[12]\d|30)[\.\-\/](0?[13456789]|1[012])[\.\-\/]((1[6-9]|[2-9]\d)?\d{2}))|((0?[1-9]|1\d|2[0-8])[\.\-\/]0?2[\.\-\/]((1[6-9]|[2-9]\d)?\d{2}))|(29[\.\-\/]0?2[\.\-\/]((1[6-9]|[2-9]\d)?(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00)|00)))$/))) {
  10.        alert('La date doit être au format jj/mm/aaaa');
  11.        return false;
  12.      } else {
  13.         return true;
  14.      }
  15.   }
  16. </script>


Message édité par FlorentG le 27-05-2005 à 14:45:50
n°1099597
FlorentG
Posté le 27-05-2005 à 14:45:12  profilanswer
 


Un peut trop lourdingue, rien ne vaut une RegExp ;)

n°1099658
yas69
Posté le 27-05-2005 à 15:13:33  profilanswer
 

merci bcq FlorentG, ca marche :)
mais je ne comprends rien :p

n°1099670
Mara's dad
Yes I can !
Posté le 27-05-2005 à 15:23:03  profilanswer
 

FlorentG a écrit :

Un peut trop lourdingue, rien ne vaut une RegExp ;)


Ok, faut que je réécrive avec des regexp, mais avec ma fonction, la saisie de 1 1 1 donne 01/01/2001 au lieu de râler  :D


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
n°1099671
FlorentG
Posté le 27-05-2005 à 15:23:26  profilanswer
 

Mara's dad a écrit :

Ok, faut que je réécrive avec des regexp, mais avec ma fonction, la saisie de 1 1 1 donne 01/01/2001 au lieu de râler  :D


Ah ouais effectivement :D


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  HTML/CSS

  besoin d'aide formulaire js switch

 

Sujets relatifs
Besoin d'aide niked-klan ?[Résolu] Ouvrir un formulaire access
Envoyer un formulaire en javascript en post, c'est possible ?[INSTALLSHIELD]J'ai besoin d'aide j'y comprend rien
Fermer un formulaire depuis un sous-formulaireaide pour BDD
[résolu][PHP/JS] Formulaire avec input name="nom[]"de l aide pour ecrire cgi et formulaire merci
Plus de sujets relatifs à : besoin d'aide formulaire js switch


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR