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

  FORUM HardWare.fr
  Programmation
  HTML/CSS

  controle de date

 


 Mot :   Pseudo :  
 
 Page :   1  2
Page Précédente
Auteur Sujet :

controle de date

n°386160
nero27
Posté le 07-05-2003 à 16:02:25  profilanswer
 

J'ai un formulaire avec des dates que je fais saisir par deux select (jour et mois) et un text !
 
Je voudrais ensuite faire une fonction JS verif_date() que j'exécuterai sur onSubmit et qui vérifira si je n'ai pas des 31 avril ou 30 février !
 
Seulement, étant débutant en js, je ne vois pas comment écrire la fonction : pourriez-vous m'aiguiller dans ma tâche SVP ?

mood
Publicité
Posté le 07-05-2003 à 16:02:25  profilanswer
 

n°386218
backdafuck​up
Back to da old skool
Posté le 07-05-2003 à 16:41:56  profilanswer
 

Je ne sais pas faire de js, mais ca n'a pas l'air compliqué [:spamafote]
je te le fais facon moi meme :

Code :
  1. bool yatilcettedate(int jour, int mois, int annee)
  2. {
  3.   switch(mois)
  4.   {
  5.     case 2:
  6.     //fevrier je sais jamais, faut faire un truc avec les années
  7.     //bisextiles, mais la j'ai jamais capté...
  8.     case 4,6,9,11:
  9.         if ((jour > 30) OR (jour <= 0))
  10.         { return false;}
  11.         break;
  12.     case 1,3,5,7,8,10,12:
  13.         if ((jour > 31) OR (jour <= 0)
  14.         { return false;}
  15.         break;
  16.    }
  17.    return TRUE;
  18. }

n°386226
backdafuck​up
Back to da old skool
Posté le 07-05-2003 à 16:45:41  profilanswer
 

Je suis pas sur de ce que je t'ai donné, donc si quelqu'un d'autre peut donner son avis, c'est parfait...
 
edit: en fait tu es déja parti mon cher nero27...
Moi je pars en week end aussi, et je reviens que lundi, donc j'espere que ca t'aura suffit... A+


Message édité par backdafuckup le 07-05-2003 à 16:47:49
n°390066
nero27
Posté le 12-05-2003 à 09:47:37  profilanswer
 

merci mon petit backdafuckup :jap:
 
Je teste et adapte ça de suite et je te dis ce que ça donne ensuite ;)

n°390075
nero27
Posté le 12-05-2003 à 09:56:52  profilanswer
 

Pour mois, il faut pas plutot que j'utilise document.form[0].mois.value ?

n°390091
backdafuck​up
Back to da old skool
Posté le 12-05-2003 à 10:15:02  profilanswer
 

La je ne peux pas t'aider, je n'ai jamais fait de javascript...

n°390092
nero27
Posté le 12-05-2003 à 10:18:36  profilanswer
 

backdafuckup a écrit :

La je ne peux pas t'aider, je n'ai jamais fait de javascript...


de toute façon, j'ai dit une connerie, ça, c'est ce que je dois mettre en paramètre ;)

n°390146
nero27
Posté le 12-05-2003 à 11:04:38  profilanswer
 

Ca fonctionne pas, mais je pense que je ne devrais pas avoir trop de prooblèmes à corriger ;)

n°390153
backdafuck​up
Back to da old skool
Posté le 12-05-2003 à 11:09:30  profilanswer
 

nero27 a écrit :

Ca fonctionne pas, mais je pense que je ne devrais pas avoir trop de prooblèmes à corriger ;)


Je t'ai donné un squelette de programme, dont je n'étais meme pas sur en plus. A toi de l'adapter à tes besoins [:spamafote]

n°390156
nero27
Posté le 12-05-2003 à 11:12:31  profilanswer
 

backdafuckup a écrit :


Je t'ai donné un squelette de programme, dont je n'étais meme pas sur en plus. A toi de l'adapter à tes besoins [:spamafote]


C'est ce que je suis en train de faire ;)
 
merci de ton aide :jap:

mood
Publicité
Posté le 12-05-2003 à 11:12:31  profilanswer
 

n°390160
walli
Posté le 12-05-2003 à 11:15:04  profilanswer
 

Pour la verif des années bisextiles il faut que :  
 

Code :
  1. ((annee%4==0) && ((annee%100 !=0)||(annee%400==0)))


---------------
NP :
n°390164
nero27
Posté le 12-05-2003 à 11:17:18  profilanswer
 

walli a écrit :

Pour la verif des années bisextiles il faut que :  
 

Code :
  1. ((annee%4==0) && ((annee%100 !=0)||(annee%400==0)))




ok, merci, c'est très gentil :jap:
 
Par contre, en js, est-ce qu'on peut mettre plusieurs valeurs à un même case comme l'a fait backdafuckup ?

n°390181
walli
Posté le 12-05-2003 à 11:23:02  profilanswer
 

nero27 a écrit :


Par contre, en js, est-ce qu'on peut mettre plusieurs valeurs à un même case comme l'a fait backdafuckup ?


 
jamais testé... si ça ne marche pas, tu n'as plus qu'à passer par un if  [:spamafote]


Message édité par walli le 12-05-2003 à 11:23:16

---------------
NP :
n°390185
nero27
Posté le 12-05-2003 à 11:23:17  profilanswer
 

pour l'instant, je suis arrivé à ça, mais ça ne fonctionne pas :

Code :
  1. function verif_date(jour, mois, annee)
  2. {
  3.     switch(mois)
  4.     {
  5.         case "février":
  6.             if (jour > 29)
  7.             {
  8.              alert(veuillez vérifier la validité de vos dates);
  9.              return false;
  10.             }
  11.             break;
  12.         case "avril","juin","septembre","novembre":
  13.             if ((jour > 30) || (jour <= 0))
  14.             {
  15.                 alert(veuillez vérifier la validité de vos dates);
  16.                 return false;
  17.             }
  18.             break;
  19.         case "janvier","mars","mai","juillet","août","octobre","décembre":
  20.             if ((jour > 31) || (jour <= 0)
  21.             {
  22.                 alert(veuillez vérifier la validité de vos dates);
  23.                 return false;
  24.             }
  25.             break;
  26.         default : return true;
  27.      }
  28. }


Message édité par nero27 le 12-05-2003 à 11:23:43
n°390193
backdafuck​up
Back to da old skool
Posté le 12-05-2003 à 11:26:32  profilanswer
 

nero27 a écrit :

pour l'instant, je suis arrivé à ça, mais ça ne fonctionne pas :

Code :
  1. function verif_date(jour, mois, annee)
  2. {
  3.     switch(mois)
  4.     {
  5.         case "février":
  6.             if (jour > 29)
  7.             {
  8.              alert(veuillez vérifier la validité de vos dates);
  9.              return false;
  10.             }
  11.             break;
  12.         case "avril","juin","septembre","novembre":
  13.             if ((jour > 30) || (jour <= 0))
  14.             {
  15.                 alert(veuillez vérifier la validité de vos dates);
  16.                 return false;
  17.             }
  18.             break;
  19.         case "janvier","mars","mai","juillet","août","octobre","décembre":
  20.             if ((jour > 31) || (jour <= 0)
  21.             {
  22.                 alert(veuillez vérifier la validité de vos dates);
  23.                 return false;
  24.             }
  25.             break;
  26.         default : return true;
  27.      }
  28. }




Tu testes pas les années bisextiles pour le mois de février ?
 
Et c'est quoi qui ne marche pas ? Ya une erreur de compilation ou la fonction ne retourne rien ?
 

n°390206
nero27
Posté le 12-05-2003 à 11:35:24  profilanswer
 

backdafuckup a écrit :


Tu testes pas les années bisextiles pour le mois de février ?
 
Et c'est quoi qui ne marche pas ? Ya une erreur de compilation ou la fonction ne retourne rien ?
 
 


les années bissextiles, je les mettrai qd tout marchera ;)
 
Sinon, la barre de statut m'indique une erreur dans la page !

n°390209
backdafuck​up
Back to da old skool
Posté le 12-05-2003 à 11:38:52  profilanswer
 

nero27 a écrit :


les années bissextiles, je les mettrai qd tout marchera ;)
 
Sinon, la barre de statut m'indique une erreur dans la page !


je répete j'y connais rien en js, mais ya des trucs qui me choquent un peu...
 
alert(veuillez vérifier...);
 
c'est pas plutot alert("veuillez vérifier..." );
 
et l'enchainement des case tu es sur que c'est comme ca ?
 
Après je vois pas d'autres trucs choquants [:spamafote], je vois pas pourquoi  il y a une erreur.. Il détaille pas l'erreur ? Ah oui mais je suis con, j'ai rien dit...

n°390214
nero27
Posté le 12-05-2003 à 11:41:52  profilanswer
 

backdafuckup a écrit :


je répete j'y connais rien en js, mais ya des trucs qui me choquent un peu...
 
alert(veuillez vérifier...);
 
c'est pas plutot alert("veuillez vérifier..." );
 
et l'enchainement des case tu es sur que c'est comme ca ?
 
Après je vois pas d'autres trucs choquants [:spamafote], je vois pas pourquoi  il y a une erreur.. Il détaille pas l'erreur ? Ah oui mais je suis con, j'ai rien dit...


Tu veux dire quoi pour l'enchainement des case ? tu verrais ça comment ?

n°390215
walli
Posté le 12-05-2003 à 11:42:06  profilanswer
 

nero27 a écrit :

pour l'instant, je suis arrivé à ça, mais ça ne fonctionne pas :

Code :
  1. function verif_date(jour, mois, annee)
  2. {
  3.     switch(mois)
  4.     {
  5.         case "février":
  6.             if (jour > 29)
  7.             {
  8.              alert(veuillez vérifier la validité de vos dates);
  9.              return false;
  10.             }
  11.             break;
  12.         case "avril","juin","septembre","novembre":
  13.             if ((jour > 30) || (jour <= 0))
  14.             {
  15.                 alert(veuillez vérifier la validité de vos dates);
  16.                 return false;
  17.             }
  18.             break;
  19.         case "janvier","mars","mai","juillet","août","octobre","décembre":
  20.             if ((jour > 31) || (jour <= 0)
  21.             {
  22.                 alert(veuillez vérifier la validité de vos dates);
  23.                 return false;
  24.             }
  25.             break;
  26.         default : return true;
  27.      }
  28. }




 
les case avec plusieurs choix, suis pas persuadée, essaye avec des ifs.
sinon, dans tes alerts, ajoute des guillemets !
 
edit : [:grilled]


Message édité par walli le 12-05-2003 à 11:42:36

---------------
NP :
n°390216
backdafuck​up
Back to da old skool
Posté le 12-05-2003 à 11:43:34  profilanswer
 

Ah j'avais bien raison, pour les alert il faut des guillemets...
Au pire pour les case, fais des if à la place, comme te l'a conseillé walli, sinon faut chercher sur google la syntaxe du case en js...

n°390219
urd-sama
waste of space
Posté le 12-05-2003 à 11:44:39  profilanswer
 

y'a pas de fonction qui te calcule directement si une variable est une date valide en javascript?


---------------
.: Clône de Drasche .:. Ebichuleys .:. Avec l'Aloe Vera je fais de beaux cacas [:dawa] .: www.oserselancer.com :.
n°390221
nero27
Posté le 12-05-2003 à 11:45:27  profilanswer
 

oui, vous avez raison pour les guillemets !
 
Pour les case à plusieurs choix, j'étais pas sûr !
 
Je vais essayer avec des if : je vous tiens au courant ;)

n°390224
nero27
Posté le 12-05-2003 à 11:48:51  profilanswer
 

Urd-sama a écrit :

y'a pas de fonction qui te calcule directement si une variable est une date valide en javascript?


Je sais pas du tout : je vais regarder par là aussi :jap:

n°390235
urd-sama
waste of space
Posté le 12-05-2003 à 11:55:09  profilanswer
 

paske je voulais faire la meme chose que toi pour de l'asp, jusqu'à ce que je découvre qu'une fonction existait et qu'elle faisait tout toute seule comme une grande! (mais bon, cela dit je doute un peu que ca existe en jscript)


---------------
.: Clône de Drasche .:. Ebichuleys .:. Avec l'Aloe Vera je fais de beaux cacas [:dawa] .: www.oserselancer.com :.
n°390241
nero27
Posté le 12-05-2003 à 11:57:47  profilanswer
 

Urd-sama a écrit :

paske je voulais faire la meme chose que toi pour de l'asp, jusqu'à ce que je découvre qu'une fonction existait et qu'elle faisait tout toute seule comme une grande! (mais bon, cela dit je doute un peu que ca existe en jscript)


et bien, je suis en train de feuilleter les pages du bouquin sur l'objet date : je te dirais ce que ça donne ;)

n°390245
urd-sama
waste of space
Posté le 12-05-2003 à 12:05:12  profilanswer
 

j'ai feuilleté le mien et je n'y ai rien trouvé en tout cas (mais bon, c'est pas le + complet qui existe)


---------------
.: Clône de Drasche .:. Ebichuleys .:. Avec l'Aloe Vera je fais de beaux cacas [:dawa] .: www.oserselancer.com :.
n°390248
nero27
Posté le 12-05-2003 à 12:07:35  profilanswer
 

Urd-sama a écrit :

j'ai feuilleté le mien et je n'y ai rien trouvé en tout cas (mais bon, c'est pas le + complet qui existe)


ouais, moi non plus (et il est pourtant complet : 900 pages) : il est pas terrible cet objet date :/

n°390256
nero27
Posté le 12-05-2003 à 12:12:32  profilanswer
 

j'essaie comme ça et ça ne fonctionne pas non plus :

Code :
  1. function verif_date(jour, mois, annee)
  2. {
  3.     switch(mois)
  4.     {
  5.         case "février":
  6.             if (jour > 29)
  7.             {
  8.              alert("veuillez vérifier la validité de vos dates" );
  9.              return false;
  10.             }
  11.             break;
  12.         case "avril":
  13.             if ((jour > 30) || (jour <= 0))
  14.             {
  15.                 alert("veuillez vérifier la validité de vos dates" );
  16.                 return false;
  17.             }
  18.             break;
  19.         case "janvier":
  20.             if ((jour > 31) || (jour <= 0)
  21.             {
  22.                 alert("veuillez vérifier la validité de vos dates" );
  23.                 return false;
  24.             }
  25.             break;
  26.         default : return true;
  27.      }
  28. }


 

Code :
  1. <form method="POST" name="rech" action="post_recherche.php?<? echo SID; ?>" onSubmit="verif_date(document.rech.jour.value,document.rech.mois.value,document.rech.annee.value);">


 
A votre avis, mon appel à la fonction est correct ou pas ?

n°390262
walli
Posté le 12-05-2003 à 12:18:00  profilanswer
 

Met un

Code :
  1. alert("jour : "+jour+", mois : "+mois+" ,annee : "+annee);


au début de ta fonction, tu verras déjà s'il passe dedans et ce qu'il te récupère comme valeurs.


---------------
NP :
n°390267
nero27
Posté le 12-05-2003 à 12:21:14  profilanswer
 

effectivement, je ne rentre pas dans la fonction : c'est bizarre :heink:

n°390339
nero27
Posté le 12-05-2003 à 13:26:49  profilanswer
 

Certains sauraient-ils me dire pourquoi je ne rentre pas dans la fonction ?
 
(UP déguisé ;))

n°390394
backdafuck​up
Back to da old skool
Posté le 12-05-2003 à 14:06:35  profilanswer
 

je t'aurais bien aidé, mais la, c'est du javascript pur, et j'y peux pas grand chose...
(c'est aussi un up déguisé, mais on dira rien hein ;))

n°390397
nero27
Posté le 12-05-2003 à 14:08:36  profilanswer
 

backdafuckup a écrit :

je t'aurais bien aidé, mais la, c'est du javascript pur, et j'y peux pas grand chose...
(c'est aussi un up déguisé, mais on dira rien hein ;))


 :jap:

n°390409
backdafuck​up
Back to da old skool
Posté le 12-05-2003 à 14:14:39  profilanswer
 

t'es sur que le ';' est nécessaire à la fin de l'appel de ta fonction, étant donné que c'est dans ton onSubmit ?

n°390413
nero27
Posté le 12-05-2003 à 14:18:23  profilanswer
 

backdafuckup a écrit :

t'es sur que le ';' est nécessaire à la fin de l'appel de ta fonction, étant donné que c'est dans ton onSubmit ?


j'ai essayé les deux !
 
Sinon, derniers essais, j'ai enlevé les arguments et ai testé directement les valeurs :

Code :
  1. function verif_date()
  2. {
  3.     switch(document.rech.mois.value)
  4.     {
  5.         case "février":
  6.             if (document.rech.jour.value > 29)
  7.             {
  8.              alert("veuillez vérifier la validité de vos dates" );
  9.              return false;
  10.             }
  11.             break;
  12.         case "avril":
  13.             if ((document.rech.jour.value > 30) || (document.rech.jour.value <= 0))
  14.             {
  15.                 alert("veuillez vérifier la validité de vos dates" );
  16.                 return false;
  17.             }
  18.             break;
  19.         case "janvier":
  20.             if ((document.rech.jour.value > 31) || (document.rech.jour.value <= 0)
  21.             {
  22.                 alert("veuillez vérifier la validité de vos dates" );
  23.                 return false;
  24.             }
  25.             break;
  26.         default : return true;
  27.      }
  28. }

n°390414
nero27
Posté le 12-05-2003 à 14:19:03  profilanswer
 

Je n'arrive toujours pas à entrer dans la fonction :sweat:

n°390417
backdafuck​up
Back to da old skool
Posté le 12-05-2003 à 14:20:52  profilanswer
 

Tu l'avais placé ou ton test ? avant ou après le switch ?
Teste si tu rentre dans la fonction, pas forcément dans le switch(je ne sais pas ce que tu as testé :/).
Et concentre toi, à mon avis, sur l'appel de ta fonction, ca doit etre la le problème... Peut etre qu'il ne trouve pas la fonction, je sais pas quelle est l'architecture des fichiers en javascript, tu dois le savoir mieux que moi...

n°390422
walli
Posté le 12-05-2003 à 14:22:52  profilanswer
 

fais voir ton source entier !
en MP si jamais c'est trop lourd...


---------------
NP :
n°390426
nero27
Posté le 12-05-2003 à 14:24:21  profilanswer
 

backdafuckup a écrit :

Tu l'avais placé ou ton test ? avant ou après le switch ?
Teste si tu rentre dans la fonction, pas forcément dans le switch(je ne sais pas ce que tu as testé :/).
Et concentre toi, à mon avis, sur l'appel de ta fonction, ca doit etre la le problème... Peut etre qu'il ne trouve pas la fonction, je sais pas quelle est l'architecture des fichiers en javascript, tu dois le savoir mieux que moi...


j'ai bien mis le test avant le switch et ça ne rentre pas dedans :/
 
Sinon, je suis en train de regarder mon appel à la fonction !

n°390427
nero27
Posté le 12-05-2003 à 14:24:51  profilanswer
 

walli a écrit :

fais voir ton source entier !
en MP si jamais c'est trop lourd...
 


ok, je t'envoie ça !

mood
Publicité
Posté le   profilanswer
 

 Page :   1  2
Page Précédente

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

  controle de date

 

Sujets relatifs
[mysql] additionner date et time pour obtenir datetime[VB6] Date environnement et recordset ouvert ou fermé ?
classer date ASPProbleme avec un champ Date sous Access...
Ajouter 7 jours à une date [PHP]Verif date JS - formulaire dynamique avec des [crochets]
date en actionscript[HTML/PHP] Afficher la derniere date de modification
[ASP] Controle de longueuer et type de texte d'un formulaireFonctions de date
Plus de sujets relatifs à : controle de date


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