begin process at 2012 05 29 07:51:18
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive Javascript

 > 

Archives

 > 

AU SECOURS !!!

 > 

Control date


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Control date

mercredi 4 janvier 2006 à 22:59:44 | Control date

laubro

A l'aide ! recherche âme charitable
voilà, j'ai presque fini un site en php, et il ne me reste plus qu'un control de date à mettre
pour que tout soit ok, je suis dessus depuis un moment mais je n'y arrive pas, ou pas à ce que je veux, même en cherchant des sources, chacune etant differente surtout pour consititué la date...

enfin voilà, j'ai 2 champs date remplient au travers d'un calendrier, format aaaa-mm-jj
dans mon form j'ai un : onsubmit="return verifier(this)"

avec un control

if (theForm.d.value <= control2) {
 alert("Attention date de début trop petite, Minimum à J+1 !");
 theForm.d.focus();
        return (false);
}

la date est de control est créée comme suit
<SCRIPT language="JavaScript">


aujourdhui2 = new Date();
jour2 = aujourdhui.getDate();
month2 = aujourdhui.getMonth();
annee2 = aujourdhui.getYear();
control2 = ( annee2 + "-" + month2 + "-" + jour2);
if (annee2 < 2000)
        annee = annee + 1900;

</SCRIPT>

alors, si je mets month2 = aujourdhui.getMonth()+1; ça ne marche pas bien
et sans le mettre comme si dessus, ça ne marche pas  sauf au mois inférieur, mais c'est bien entendu pas ce que que je voudrais......

est ce que quelqu'un aurait une autre solution, pour constituer la date par exemple, pour que cela colle avec mon format aaaa-mm-jj ????

merci
Laubro

jeudi 5 janvier 2006 à 00:06:43 | Re : Control date

biv83

bonjour,

je t'ai fais a l'aide de diverses sources de ce site un exemple de controle de champ "date" en javascript.

il t'indique si la date entrée est inferieur ou supérieur à la date du jour.
j'espere que ça resoudra ton problème....

Pour le tester, tu as juste a mettre le script ci-dessous dans un page vierge et l'ouvrir avec IE. 


<html>
<head>
<title>Document sans titre</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<script language="JavaScript">
aujourdhui
= new Date();
jour2
= aujourdhui.getDate();
month2
= aujourdhui.getMonth();
annee2
= aujourdhui.getYear();
control2
= ( annee2 + "-" + month2 + "-" + jour2);
if (annee2 < 2000)
annee
= annee + 1900;

function renverseStrDate(sIn) {
var sOut = "";
sOut = sIn.charAt(6) + sIn.charAt(7) + sIn.charAt(8)+ sIn.charAt(9) + "/" + sIn.charAt(3)+ sIn.charAt(4) + "/" + sIn.charAt(0)+ sIn.charAt(1)
return(sOut);
}

function verifier() {
todaydate
= renverseStrDate(document.form1.textfield.value);

if (todaydate < control2) {
alert
("la date du jour est infйrieure а la date entrйe");
}

if (control2 < todaydate) {
alert
("la date du jour est supйrieure а la date entrйe");

}
}
</script>




<body>
<tr>
<td align="left" nowrap rowspan="-19" colspan="2">
Entrez la date avec un sйparateur puis cliquez sur vйrifier.<br> </td>
</tr>
<form name="form1" action="">
<input type="text" name="textfield" value="" text= "tapez une date avec sйparateur">


</form>


<form name="form4" action="">
<input type="button" name="Validation" value="verifier" onClick="verifier
();">

</form>
</body>

</html>

jeudi 5 janvier 2006 à 10:20:03 | Re : Control date

laubro

Je te remercie pour ton aide, mais ça ne fonctionne pas

si je comprends bien, dans ton scipt todaydate est la date saisie dans le champs du formulaire remise au format souhaité
function verifier() {
todaydate = renverseStrDate(document.form1.textfield.value);

et la date du jour est control2...
si je prends ton 1er control : date saisie(todaydate) < à control2(date du jour), moi je comprends que la date du jour(control2 ) est supérieure à la date saisie(todaydate) ??? et visversa !
if (todaydate < control2) {
alert("la date du jour est infйrieure а la date entrйe");
}

if
(control2 < todaydate) {
alert("la date du jour est supйrieure а la date entrйe");
le terme todaydate est un peu trompeur, car todaydate = aujourd'hui, hors aujourd'hui est créer par control2 ou alors je comprends rien
car si todaydate est aujourd'hui, control2 c'est quoi ? tu vois ce que je veux dire

enfin de toute façon ça passe pas, en fait aujourd'hui on est le 2006-01-05 et si je saisie
2006-01-01 ça me dit bien que qu'aujourd'hui est supérieur(apres modif texte alert)
mais aussi pour 2006-02-01 alors que le 1 février est supérieur au 5 janvier
j'ai la bonne alert qu'a partir de 2006-03-01 jusqu'au 2006-09-30 a partir de 2006-10-01 ça replante !

je comprends pas le truc des date en javascript c'est saoulant........
Laubro
jeudi 5 janvier 2006 à 11:07:42 | Re : Control date

laubro

HO HO
Apres divers test, je me suis aperçus que cela fonctionne avec le script suivant :

<html>

<head>

<title>Document sans titre</title>

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

<meta name="GENERATOR" content="Microsoft FrontPage 4.0">

<meta name="ProgId" content="FrontPage.Editor.Document">

</head>

<script language="JavaScript">

aujourdhui = new Date();

jour2 = aujourdhui.getDate();

month2 = aujourdhui.getMonth();

annee2 = aujourdhui.getYear();

control2 = ( annee2 + "-" + month2 + "-" + jour2);

if (annee2 < 2000)

annee = annee + 1900;

function renverseStrDate(sIn) {

var sOut = "";

sOut = sIn.charAt(6) + sIn.charAt(7) + sIn.charAt(8)+ sIn.charAt(9) + "/" + sIn.charAt(3)+ sIn.charAt(4) + "/" + sIn.charAt(0)+ sIn.charAt(1)

return(sOut);

}

function verifier() {

todaydate = renverseStrDate(document.form1.textfield.value);

control3 = renverseStrDate(control2);

if (todaydate < control3) {

alert("la date du jour est supérieure à la date entrée");

}

if (control3 < todaydate) {

alert("la date du jour est inférieure à la date entrée");

}

if (control3 == todaydate) {

alert("la date du jour est égale à la date entrée");

}

}

</script>

<body>

<table>

<tr>

<td align="left" nowrap rowspan="-19" colspan="2">Entrez la date avec un s&#1081;parateur

puis cliquez sur v&#1081;rifier.<br>

</td>

</tr>

<form name="form1" action="">

<tr>

<td><input type="text" name="textfield" value text="tapez une date avec s&#1081;parateur" size="20">

</form>

<form name="form4" action>

<input type="button" name="Validation" value="verifier" onclick="verifier();">

</form>

</td>

</tr>

</table>

</body>


sauf que ça fonction avec les dates au format : 2006-1-1 mais mon formatage est 2006-01-01 et avec les 0 marche pas
est ce qu"il est possible au cas ou de mettre le 0 si le mois est entre 1 et 9 et le jour entre 1 et 9 ? ? ? par exemple
Laubro
jeudi 5 janvier 2006 à 11:13:22 | Re : Control date

laubro

non en fait marche pas non plus
ne control que le chiffre du jour et encore que entre 1 et 9

Laubro
jeudi 5 janvier 2006 à 12:05:24 | Re : Control date

biv83

re,

je suis d¨¦sole pour les quelques erreurs mais je l'ai fais un peu tard hier.
j'ai juste modifier le script et je l'ai tester, il marche "normalement" correctement.

<script language="JavaScript">

aujourdhui
= new Date();
jourtoday
= aujourdhui.getDate();
moistoday
= aujourdhui.getMonth()+1;
anneetoday
= aujourdhui.getYear();
controltoday
= ( anneetoday + "-" + moistoday + "-" + jourtoday);
if (anneetoday < 2000)
{ annee
= annee + 1900; }




function jourchamp(sIn0)
{
var sOut0 = "";
sOut0
= sIn0.charAt(0)+ sIn0.charAt(1)
return(sOut0);
}

function moischamp(sIn1)
{
var sOut1 = "";
sOut1
= sIn1.charAt(3)+ sIn1.charAt(4)
return(sOut1);
}

function anneechamp(sIn2)
{
var sOut2 = "";
sOut2
= sIn2.charAt(6) + sIn2.charAt(7) + sIn2.charAt(8)+ sIn2.charAt(9)
return(sOut2);
}


function verifier()
{
// procedure du bouton v§Ûrifier

journewchamp
= jourchamp(document.form1.textfield.value);

moisnewchamp
= moischamp(document.form1.textfield.value);

anneenewchamp
= anneechamp(document.form1.textfield.value);


alert
(anneenewchamp+" "+anneetoday);
alert
(moisnewchamp+" "+moistoday);
alert
(journewchamp+" "+jourtoday);

if (anneenewchamp < anneetoday )
{
alert
("la date rentr§Ûe est INFERIEUR §Ñ la date du jour (AN)");
}
else
{
if (moisnewchamp > moistoday)
{
alert
("la date rentr§Ûe est SUPERIEUR §Ñ la date du jour (mois)");
}
else
{
if (journewchamp < jourtoday )
{
alert
("la date rentr§Ûe est INFERIEUR §Ñ la date du jour (jour)");
}
else
{
alert
("la date rentr§Ûe est SUPERIEUR §Ñ la date du jour jour yessssss");

}

}

}



}
</script>

PS: A MORT LES DATES !!!!!

jeudi 5 janvier 2006 à 12:49:54 | Re : Control date

laubro

Suis désolé, mais pas a tous les coups
exemple

tu rentre 2006-01-06 c'est supérieure = ok
mais avec 2006-01-01 c'est aussi supérieure ! ! ?
par contre avec 2006-1-1 là c'est bien inférieure....

tu vois quoi
Laubro
jeudi 5 janvier 2006 à 13:00:54 | Re : Control date

biv83

re,
tu dois rentrés la date dans ton champ au format jj/mm/aaaa

et la ça marche correctement.

si tu veux utiliser dans ton champ le format  aaaa/mm/jj
tu dois mettre:

function jourchamp(sIn0)
{
var sOut0 = "";
sOut0
= sIn0.charAt(8)+ sIn0.charAt(9)
return(sOut0);
}

function moischamp(sIn1)
{
var sOut1 = "";
sOut1
= sIn1.charAt(5)+ sIn1.charAt(6)
return(sOut1);
}

function anneechamp(sIn2)
{
var sOut2 = "";
sOut2
= sIn2.charAt(0) + sIn2.charAt(1) + sIn2.charAt(2)+ sIn2.charAt(3)
return(sOut2);
}

jeudi 5 janvier 2006 à 21:12:21 | Re : Control date

laubro

merci de te dechirer pour moi, sauf que tu va me trouver chiant surement, mais ta derniere version, control la date en 3 parties : année, puis mois, puis jour et pour aller au bout il faut que les 3 parties controlées soient supérieure mais de façon indépendante, je veux dite que :
 -l'année doit être supérieure
-puis le mois doit être supérieure
 -puis le jour doit être supérieure

par exemple 2006-01-05 (aujourd'hui quoi) est bien supérieure à 2006-01-04 et inférieure à 2006-01-06
mais par contre : 2006-02-04 est retourné comme inférieure à 2006-01-05 car 04 est inférieure à 05, tu vois ?

moi il me faut un control de la date en 1 entier(si je puis dire), c'est a dire que toutes les date (aaaa-mm-jj)supérieures à aujourd'hui soient retournées comme supérieures
donc 2006-02-04 doit être sup de 2006-01-05

le premier script qu ta m'avais proposé ressemble plus à mon beoin il me semble, mainetant, faut trouver l'astuce....
Laubro
jeudi 5 janvier 2006 à 22:21:45 | Re : Test Control date

biv83

Réponse acceptée !
je me suis un peu creuser le crâne....

c'est plus ça que tu recherches:

<script language="JavaScript">

aujourdhui
= new Date();
jourtoday
= aujourdhui.getDate();
moistoday
= aujourdhui.getMonth()+1;
anneetoday
= aujourdhui.getYear();
controltoday
= ( anneetoday + "-" + moistoday + "-" + jourtoday);
if (anneetoday < 2000)
{ annee
= annee + 1900; }




function jourchamp(sIn0)
{
var sOut0 = "";
sOut0
= sIn0.charAt(8)+ sIn0.charAt(9)
return(sOut0);
}

function moischamp(sIn1)
{
var sOut1 = "";
sOut1
= sIn1.charAt(5)+ sIn1.charAt(6)
return(sOut1);
}

function anneechamp(sIn2)
{
var sOut2 = "";
sOut2
= sIn2.charAt(0) + sIn2.charAt(1) + sIn2.charAt(2)+ sIn2.charAt(3)
return(sOut2);
}


function verifier()
{
// procedure du bouton vйrifier

journewchamp
= jourchamp(document.form1.textfield.value);

moisnewchamp
= moischamp(document.form1.textfield.value);

anneenewchamp
= anneechamp(document.form1.textfield.value);


alert
(anneenewchamp+" "+anneetoday);
alert
(moisnewchamp+" "+moistoday);
alert
(journewchamp+" "+jourtoday);

if ( ((anneenewchamp == anneetoday) && (moisnewchamp == moistoday) && (journewchamp > jourtoday)) || ((anneenewchamp == anneetoday) && (moisnewchamp > moistoday) && (journewchamp > jourtoday)) || ((anneenewchamp == anneetoday) && (moisnewchamp > moistoday) && (journewchamp < jourtoday)) || ((anneenewchamp == anneetoday) && (moisnewchamp == moistoday) && (journewchamp == jourtoday)) || (anneenewchamp > anneetoday) )
{
alert
("la date rentrйe est SUPERIEUR а la date du jour ");
}
else
{

alert
("la date rentrйe est INFERIEUR а la date du jour");
}




}
</script>


1 2

Cette discussion est classée dans : date, control, aujourdhui, month2, annee2


Répondre à ce message

Sujets en rapport avec ce message

Control dans formulaire [ par laubro ] Bonjourj'ai mis dans un formulaire un controle de saisie de date et j'ai un champs ou la date saisie (YYYY/mm/dd) doit être au minimum à j+1 (le lende affichage date [ par pointup ] Bonjour, Sur ma page web, je n'arrive pas à afficher correctement l'année 06....il apparaît toujours 106 !! Voilà mon code :         d = new Da Problème compatibilité de ma page sous Firefox [ par shadow125 ] Hello :)Voila je programme la V 3.2 de mon site et j'aimerai faire un truc vraiement joli :) Donc j'ai fais des jeux de cadre pour faire une structure une source .txt dans iframe selon la date ! [ par frvfrvfrvfrv ] Bien le bonjour à vous tous,depuis qlq jours j'essai de mettre un fichier .txt dans une iframe en fonction de la date.Mais en vain.....la source :<FON Affichage de la date [ par bmikl59 ] Voila, je connais pas trés bien le JavaScript. Je fais ça :var now = new Date();document.frm.D003.value = now.getDate() + " / " +now.getMonth() + " / Ancre nomée et Div [ par Ishida uryuu ] Bonjour à tous,J ai une div avec un scrollbar dans laquelle il y a un tableau qui contient tous les jours du mois ainsi que les 24H de chaque jour.Pou Date en français [ par dragzor ] Bonsoir,J'ai emprunté un petit script quelque part pour indiquer à quand remontait la dernière visite de l'utilisateur sur mon site mais malheureuseme Problème de date [ par fred_surz2002 ] Salut,J'ai une variable qui me donne la date d'aujourd'hui:Date dateLimite = new Date();et je voudrais la modifier pour obtenir:Date dateLimite = new format date [ par chapata ] Hello ,je ramene d'excel des données (... ok non souci ...) dans mes données j'ai une date (... pas de problème...) quand je l'affecte à mon inuput Click sur une date du calendrier [ par fionalabelle ] Bonjour à tous, <P class


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), 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

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,265 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales