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 !

UN CALENDRIER AVEC DES INPUT TEXT QUI CONTROLE LES ANNÉES BISEXTILES ET LES MOIS DE 30 JOURS


Information sur la source

Catégorie :Fenêtre & Pop-up Classé sous : calendrier, annees, bisextile, date, jour Niveau : Initié Date de création : 24/08/2005 Vu : 17 474

Note :
9 / 10 - par 3 personnes
9,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

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

Description

J'en avis marre de voir des calendriers avec des pages de codes alors j'ai essayé de faire un truc simple.
J'ai mis 3 input de type text : 1 pour les jours, 1 pour les mois et un pour les années.
J'ai placé une function controldate qui vérifie si la date saisie est correcte.
- vérifie que l'input text jours a bien 30 jours et non 31 pour les mois de 30 jours,
- vérifie que les années bisextiles pour le mois de février.

Je l'ai testé plusieurs fois et ça marche.

 

Source

  • <HTML>
  • <Script Language="Javascript">
  • <!--
  • function ControlDate() {
  • //année bisextile = 29 jours en février ex: 2004/4=501 reste 0 si le rest est <> 0 donc 28 jours
  • var anbis = document.calendrier.ans.value %4;
  • if (document.calendrier.mois.value =="02"){
  • if ((anbis != 0)&&(document.calendrier.Jours.value >28)){
  • alert ("Le mois de février "+ document.calendrier.ans.value + " n'a que 28 jours!");
  • Exit;
  • }
  • }
  • if (document.calendrier.mois.value ==""){
  • alert ("Vous devez indiquer le mois!");
  • Exit;}
  • if (document.calendrier.ans.value ==""){
  • alert ("Vous devez indiquer l'année");
  • Exit;}
  • if ((document.calendrier.mois.value =="04")||(document.calendrier.mois.value =="06")||(document.calendrier.mois.value =="09")||(document.calendrier.mois.value =="11")){
  • if (document.calendrier.Jours.value >"30"){
  • if (document.calendrier.mois.value =="04"){
  • alert ("Le mois d'avril n'a que 30 jours!");
  • Exit;}
  • if (document.calendrier.mois.value =="06"){
  • alert ("Le mois de juin n'a que 30 jours!");
  • Exit;}
  • if (document.calendrier.mois.value =="09"){
  • alert ("Le mois de septembre n'a que 30 jours!");
  • Exit;}
  • if (document.calendrier.mois.value =="11"){
  • alert ("Le mois de novembre n'a que 30 jours!");
  • Exit;}
  • }
  • }
  • }
  • -->
  • </Script>
  • <p align="center">
  • Pour tester la saisie d'une date entrez différentes dates<br>
  • Après avoir saisi une année cliquez n'importe où sur la page
  • <form name='calendrier'>
  • <table border=0 align='center'>
  • <colgroup width='100'>
  • </colgroup>
  • <colgroup width='270'>
  • </colgroup>
  • <tr>
  • <td>Indiquez la date </td>
  • <td><select name='Jours' style='width:45px'>
  • </select>
  • <script>
  • elem=document.getElementById('Jours');
  • for ( i = 1; i < 32; i++ ) {
  • elem.options[i,i] = new Option(i,i);
  • }
  • </script>
  • <SELECT size=1 name='mois' style='width:95px'>
  • <OPTION value=''></OPTION>
  • <OPTION value='01'>Janvier</OPTION>
  • <OPTION value='02'>Février</OPTION>
  • <OPTION value='03'>Mars</OPTION>
  • <OPTION value='04'>Avril</OPTION>
  • <OPTION value='05'>Mai</OPTION>
  • <OPTION value='06'>Juin</OPTION>
  • <OPTION value='07'>Juillet</OPTION>
  • <OPTION value='08'>Août</OPTION>
  • <OPTION value='09'>Septembre</OPTION>
  • <OPTION value='10'>Octobre</OPTION>
  • <OPTION value='11'>Novembre</OPTION>
  • <OPTION value='12'>Décembre</OPTION>
  • </SELECT>
  • <SELECT name='ans' style='width:56px' onblur="ControlDate()">
  • </select>
  • <script>
  • el=document.getElementById('ans');
  • var tpm = 0;
  • for ( i = 1; i < 12; i++ ) {
  • tmp = i + 1999;
  • el.options[i,i] = new Option(tmp,tmp);
  • }
  • </script>
  • </td>
  • </tr>
  • </table>
  • <br>
  • Avez-vous testé des dates du genre 31 avril ou 31 juin ou encore 29 février 2003?
  • </form>
  • </HTML>
<HTML>
<Script Language="Javascript">
<!--
function ControlDate() {
//année bisextile = 29 jours en février ex: 2004/4=501 reste 0 si le rest est <> 0 donc 28 jours
var anbis = document.calendrier.ans.value %4;
	if (document.calendrier.mois.value =="02"){
		if ((anbis != 0)&&(document.calendrier.Jours.value >28)){
			alert ("Le mois de février "+ document.calendrier.ans.value + " n'a que 28 jours!");
			Exit;
		}
	}
	if (document.calendrier.mois.value ==""){
		alert ("Vous devez indiquer le mois!");
		Exit;}
	if (document.calendrier.ans.value ==""){
		alert ("Vous devez indiquer l'année");
		Exit;}
	if ((document.calendrier.mois.value =="04")||(document.calendrier.mois.value =="06")||(document.calendrier.mois.value =="09")||(document.calendrier.mois.value =="11")){
		if (document.calendrier.Jours.value >"30"){
			if (document.calendrier.mois.value =="04"){
				alert ("Le mois d'avril n'a que 30 jours!");
				Exit;}
			if (document.calendrier.mois.value =="06"){
				alert ("Le mois de juin n'a que 30 jours!");
				Exit;}		
			if (document.calendrier.mois.value =="09"){
				alert ("Le mois de septembre n'a que 30 jours!");
				Exit;}	
			if (document.calendrier.mois.value =="11"){
				alert ("Le mois de novembre n'a que 30 jours!");
				Exit;}	
		}
	}	
}
-->
</Script>

<p align="center"> 
Pour tester la saisie d'une date entrez différentes dates<br>
Après avoir saisi une année cliquez n'importe où sur la page	
<form name='calendrier'> 
<table border=0 align='center'>
	<colgroup width='100'>
	</colgroup>
	<colgroup width='270'>
	</colgroup>
	<tr>
		<td>Indiquez la date </td>
		<td><select name='Jours' style='width:45px'> 
		</select> 
		<script> 
   		elem=document.getElementById('Jours'); 
   		for ( i = 1; i < 32; i++ ) { 
       		elem.options[i,i] = new Option(i,i); 
   		} 
		</script> 
		<SELECT size=1 name='mois' style='width:95px'>
		<OPTION value=''></OPTION>
		<OPTION value='01'>Janvier</OPTION>
		<OPTION value='02'>Février</OPTION>
		<OPTION value='03'>Mars</OPTION>
		<OPTION value='04'>Avril</OPTION>
		<OPTION value='05'>Mai</OPTION>
		<OPTION value='06'>Juin</OPTION>
		<OPTION value='07'>Juillet</OPTION>
		<OPTION value='08'>Août</OPTION>
		<OPTION value='09'>Septembre</OPTION>
		<OPTION value='10'>Octobre</OPTION>
		<OPTION value='11'>Novembre</OPTION>
		<OPTION value='12'>Décembre</OPTION>
		</SELECT>
		<SELECT name='ans' style='width:56px' onblur="ControlDate()">
		</select> 
		<script> 
   		el=document.getElementById('ans'); 
		var tpm = 0;
   		for ( i = 1; i < 12; i++ ) { 
		tmp = i + 1999;
       		el.options[i,i] = new Option(tmp,tmp); 
   		} 
		</script>
		</td>
	</tr>
</table>
<br>
Avez-vous testé des dates du genre 31 avril ou 31 juin ou encore 29 février 2003?
</form>
</HTML>

Commentaires et avis

signaler à un administrateur
Commentaire de bultez le 24/08/2005 14:54:44

ah, déjà plus sympatique que
la dernière source de ce style
qui a été postée.
2 remarques :
°et si on modifie le mois et/ou le jour
après avoir choisi l'annnée ?
pas de contrôle ?
°le contrôle de l'année bissectile
n'est pas tout à fait correct :
bissectile si année divisible par 4
mais non divisible par 100 ( sauf
si elle est divisible par 400 ).
1900 n'était pas bissectile, 2000 oui.
if  ( (aa%4 == 0 &&  aa%100 != 0) ||
      ( aa%400 == 0) )
@+

signaler à un administrateur
Commentaire de Romain128 le 25/08/2005 03:51:17

Un script comme je les aimes, alliant simplicité et efficacité!
Par contre, c'est dommage que ne marche pas sous Moz/Fx...
Les SELECT des jours et des annees sont vides...
Console JavaScript:
=>Erreur : elem has no properties
Fichier Source : file:///c:/WINDOWS/Bureau/calendrier.html
Ligne : 55
=>Erreur : el has no properties
Fichier Source : file:///c:/WINDOWS/Bureau/calendrier.html
Ligne : 80
Bonne source quand meme ;)

Ajouter un commentaire

Discussions en rapport avec ce code source dans le forum

un javascript qui calcul le nombre de jour entre 2 date? [ par jetlee79 ] Bonjour,Je recherche désespérèment un javascript qui me dise le nombre de jours qu'il y a entre 2 date.Car j'ai une page html ou je saisie dans TXtDat redirection conditionnelle [ par alterdoc ] J'ai réalisé un site qui présente une page différente pour chaque jour du mois. La page du jour a pour adresse la date du jour. Par exemple, 22.htm Ju PHP : pour marquer une date de mise à jour du fichier ? [ par JPR ] Bonjour,Newbbies en PHP, je cherche n&#233;anmoins un script de mise &#224; jour de mes pages.Qui peut m'aider sur ce sujet...pour l'instant j'ai rien compte a rebours, mais pb... [ par colibrius ] j'ai recup&#233;r&#233; le script ci-dessous pour afficher un compte a rebours dynamique pour atteindre (dans le cas ci-dessous) la date du 18/03/2005 probleme date dans liste deroulante [ par jacopastorius ] Bonjour, Je suis actuellement en train de creer un formulaire, pour une page intranet dans laquelle l'utilisateur selectionne une date. J'ai mis le jo date actualisé dans menu deroulant [ par jacopastorius ] Bonjour, Je suis actuellement en train de creer un formulaire, pour une page intranet dans laquelle l'utilisateur selectionne une date. J'ai mis le jo Une question pour mon calendrier [ par syltouille ] Bonjour et bonne annee tout le monde.Mon premier souci de cette annee est:J'ai realise un calendrier en PHP avec des images pour chaque jour.- Je voud Script Date de mise à jour du site non compatible avec Netscape [ par rem78 ] Bonjour,J'utilise un script trouvé ici pour afficher sur mon site la date de la dernière mise à jour du site, mais il y a un problème car visiblement Ouvrir une page HTML variable [ par vdzh ] Bonjour,F&#233;ru d'actualit&#233;s, je regarde chaque jour la Une de tous les quotidiens qui sont sur le Web.Les pages que j'ouvre sont de la forme : Probleme avec Date Modification de la Page [ par ripmaster ] Bonjour, J'ai un petit soucis que je n'arrive pas &#224; r&#233;soudre... En effet, j'ai voulu faire un script pour afficher la date de derni&#232;re


Nos sponsors

Sondage...

CalendriCode

Décembre 2008
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :



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,468 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é.