Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

MASQUE DE SAISIE DE DATE


Information sur la source

Catégorie :Date & Heure Niveau : Initié Date de création : 06/02/2002 Date de mise à jour : 06/02/2002 10:08:45 Vu : 13 460

Note :
5,5 / 10 - par 2 personnes
5,50 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (5)
Ajouter un commentaire et/ou une note

Description


 

Source

  • Ce petit script vous permet d'appliquer un masque de saisie sur un champ de formulaire html.
  • La fonction se présente comme suit :
  • function masqueSaisieDate(obj) {
  • var ch;
  • var ch_gauche, ch_droite;
  • ch = obj.value;
  • ch.toString();
  • if ( ( (ch.slice(2,3)) != ("/") ) && (ch.length >= 3) ){
  • ch_gauche = ch.slice(0,2);
  • ch_droite = ch.slice(2);
  • obj.value = ch_gauche + "/" + ch_droite;
  • }
  • if ( ( (ch.slice(5,6)) != ("/") ) && (ch.length >= 6) ){
  • ch_gauche = ch.slice(0,5);
  • ch_droite = ch.slice(5);
  • obj.value = ch_gauche + "/" + ch_droite;
  • }
  • return;
  • }
  • Pour l'appeler, il suffit de mettre quelque chose de ce style
  • <input type="text" name="date_fin_validite" size='11' maxLength='10' value="" onKeyUp="masqueSaisieDate(this.form.date_fin_validite),">
  • pour appeler la fonction. Il vous restera alors à taper quelque chose du style 12122001 qui sera automatiquement formaté en 12/12/2001
Ce petit script vous permet d'appliquer un masque de saisie sur un champ de formulaire html.



La fonction se présente comme suit :



function masqueSaisieDate(obj) {
 var ch;
 var ch_gauche, ch_droite;



 ch = obj.value;
 ch.toString(); 
 
 if ( ( (ch.slice(2,3)) != ("/") ) && (ch.length >= 3) ){
  ch_gauche = ch.slice(0,2);
  ch_droite = ch.slice(2);
  obj.value = ch_gauche + "/" + ch_droite;
 }
 if ( ( (ch.slice(5,6)) != ("/") ) && (ch.length >= 6) ){
  ch_gauche = ch.slice(0,5);
  ch_droite = ch.slice(5);
  obj.value = ch_gauche + "/" + ch_droite;
 }
  return;
}



Pour l'appeler, il suffit de mettre quelque chose de ce style



<input type="text" name="date_fin_validite" size='11' maxLength='10' value="" onKeyUp="masqueSaisieDate(this.form.date_fin_validite),">

pour appeler la fonction. Il vous restera alors à taper quelque chose du style 12122001 qui sera automatiquement formaté en 12/12/2001
 

Conclusion

Au passage, vous pouvez venir faire un petit tour sur http://www.cnam-lofteur.fr.st
 

Commentaires et avis

signaler à un administrateur
Commentaire de aramis le 08/02/2002 11:07:52

Cela fonctionne très bien sur IE mais sur Netsacpe, le comportement est complètement différent.

Peut -être pourrait-on rajouter des expressions régulières afin d'autoriser d'autres séparateur que le "/" tel que ".", "-"

signaler à un administrateur
Commentaire de Gatsu le 17/06/2003 15:14:27

La simplicité et l'efficacité, très bien.
Juste un petit pb, l'utilisateur peut sasir des années a ralonge.
Il faudrait l'empecher de pouvoir saisir plus de 4 chiffres.

signaler à un administrateur
Commentaire de Gatsu le 17/06/2003 15:24:35

G trouvé, il suffit de rajouter ce petit bou de code avt :
        ch = obj.value;
        obj.value = ch.slice(0,10);
        return;
M, un autre pb : on voit notre chiffre saisie qui disparait ( c pas très esthétique)

signaler à un administrateur
Commentaire de SgtKabukinan le 19/05/2005 17:50:34

juste pour faire coucou a toxicAvenger ;)
Troma !!!!!

sinon allez plutot voir ce script :
http://www.javascriptfr.com/code.aspx?id=17339

signaler à un administrateur
Commentaire de tikaprod le 30/03/2006 16:14:06

juste un petit rajout pour ce script.
il permet de corriger les saisies si l'ont met un jour > 31 ou un mois > 12

if ( ( (ch.slice(2,3)) != ("/") ) && (ch.length >= 3) ){
if (ch.slice(0,2)>31) { ch_gauche = '31'; } else { ch_gauche = ch.slice(0,2); }
ch_droite = ch.slice(2);
obj.value = ch_gauche + "/" + ch_droite;
}
if ( ( (ch.slice(5,6)) != ("/") ) && (ch.length >= 6) ){
if (ch.slice(3,5)>12) { ch_gauche = ch.slice(0,3)+'12'; } else { ch_gauche = ch.slice(0,5); }
ch_droite = ch.slice(5);
obj.value = ch_gauche + "/" + ch_droite;
}

Ajouter un commentaire



Nos sponsors

Sondage...

CalendriCode

Novembre 2008
LMMJVSD
     12
3456789
10111213141516
17181920212223
24252627282930

Consulter la suite du CalendriCode

Appels d'offres



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, 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
Temps d'éxécution de la page : 0,016 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.