Zone de saisie de date, formatage ?

cs_Joez Messages postés 80 Date d'inscription mercredi 4 avril 2001 Statut Membre Dernière intervention 19 mai 2012 - 10 mars 2006 à 10:02
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 - 12 mars 2006 à 12:15
Bonjour, je veux avoir une zone de texte avec un masque de saisie pour la date, c'est possible ?

du type ../../.... par defaut pourle champ vide 10/06/2006

en JS peut etre ? quelqu'un a deja fait ?

et aussi que ça verifie si la dtae est bien saisie

14 réponses

stiml Messages postés 132 Date d'inscription mardi 21 juin 2005 Statut Membre Dernière intervention 18 juin 2009
10 mars 2006 à 10:25
pour la date par défaut, il suffit que tu mette :

" />

sinon pour le masque de saisie.. .désoler... là ça te met la date 10/03/2006 mais sinon je sais pas...



--------------------
StimL.
0
stiml Messages postés 132 Date d'inscription mardi 21 juin 2005 Statut Membre Dernière intervention 18 juin 2009
10 mars 2006 à 10:32
Pour vérifier si la date est bien saisie quand tu envoi ton formulaire tu fait ça:

ce champ texte affiche par défaut la date d'aujourd'hui :
" />

Admettons que tu utilise la methode POST ca marche pareil avec la méthode GET.
<?php
if ($_POST['date']!="")
{
echo "enregistrer";
}
else
{
echo "la date n'est pas saisie";
}
?>

Si tu veut que ça affiche le date 10/06/2006 par défaut dans ton champ texte il suffit que tu mette :
" />



--------------------
StimL.
0
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
10 mars 2006 à 10:35
Pour la vérification, mieux vaut faire ça en php, donc après soumission du formulaire :
list ($day, $month, $year) = explode ('/', $_POST['lalalal']);
if (false === checkdate ($month, $day, $year)) {
// date erronée.
}

http://fr3.php.net/manual/fr/function.checkdate.php
0
cs_AshenShugar Messages postés 202 Date d'inscription jeudi 24 juin 2004 Statut Membre Dernière intervention 22 janvier 2009 1
10 mars 2006 à 13:55
Pour éviter la soumission du formulaire tout en le testant en PHP, tu peux utiliser les XmlHttpRequest. Je pense que celà reste la meilleure solution pour la vérification des dates.

Javascript
function Validation()
{
if (window.XMLHttpRequest) // FIREFOX
xhr_object = new XMLHttpRequest();
else if (window.ActiveXObject) // IE
xhr_object = new ActiveXObject("Microsoft.XMLHTTP");
else
return (false);
fileLocation = "test_date.php?date=" + document.forms[0].lalalal.value;
xhr_object.open("GET", fileLocation , false);
xhr_object.send(null);
if (xhr_object.readyState == 4)
if (xhr_object.responseText == 1)
document.forms[0].submit();
else
alert ('Date incorrecte !');
else
alert('Erreur d'execution XmlHttpRequest !');
}

Fichier test_date.php
<?
list ($day, $month, $year) = explode ('/', $_POST['lalalal']);
if (false !== checkdate ($month, $day, $year)) {
echo "1"
}
else
echo "0";
?>

Le hardware, c'est sur quoi l'on tape lorsque le software merde...
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
10 mars 2006 à 14:18
Utiliser les requêtes xlmlhttp juste pour vérifier une date, c'est un peu poussé quand même. En plus, tu vas le déclencher sur quel évènement, ton appel à la fonction validation...?
0
cs_AshenShugar Messages postés 202 Date d'inscription jeudi 24 juin 2004 Statut Membre Dernière intervention 22 janvier 2009 1
10 mars 2006 à 14:39
C'est clair que maurice a poussé le bouchon un peu trop loin, sans pour autant dépassé les bornes des limites. En plus, c'est bientôt WE... alors indulgence svp !
Sinon, s'il y a d'autre données à tester, comme l'existence du login, etc... tu peux mettre tout ca dans le fichier php.
Pour la fonction, tu peux la déclencher sur l'évenement OnClick d'un bouton. C'est ce que j'ai prévu en mettant le submit() dans la fonction si le test est OK ! Sinon, tu peux le mettre sur l'evement OnBlur du champ, mais il faut adapter le code.
Ca evite d'avoir a soumettre le formulaire, puis à le réafficher si la saisie est fausse.
De plus, comme il s'agit d'un tout petit traitement, ce sera presque transparent.
Maintenant, il est libre de choisir la solution qu'il préfère...
Il pourrait aussi trouver un algo de test des dates, etc...
Ce n'est pas les possiblité qui manquent !

Le hardware, c'est sur quoi l'on tape lorsque le software merde...
0
thomvaill Messages postés 366 Date d'inscription mercredi 7 avril 2004 Statut Membre Dernière intervention 20 février 2007 2
11 mars 2006 à 12:29
Ou si tu ne veux pas qu'on modifie la date :

" disabled="disabled" />

Thomvaill
IRC : Thomas (irc.heliosnet.org:6667 #programmation)
0
cs_AshenShugar Messages postés 202 Date d'inscription jeudi 24 juin 2004 Statut Membre Dernière intervention 22 janvier 2009 1
11 mars 2006 à 16:39
mdr !! Aussi, c'est une solution ! Ou alors, le mettre en ReadOnly, je
trouve ca plus esthetique et plus partique sur certain navigateur.

Le hardware, c'est sur quoi l'on tape lorsque le software merde...
0
thomvaill Messages postés 366 Date d'inscription mercredi 7 avril 2004 Statut Membre Dernière intervention 20 février 2007 2
11 mars 2006 à 18:24
Oui lol.. Enfin au point où on en est, autemps faire ça direct dans le
code et pas mettre de champ du tout dans le formulaire mdr !

Thomvaill
IRC : Thomas (irc.heliosnet.org:6667 #programmation)
0
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
11 mars 2006 à 18:45
Salut,

"Pour éviter la soumission du formulaire tout en le testant en PHP, tu
peux utiliser les XmlHttpRequest. Je pense que celà reste la meilleure
solution pour la vérification des dates."



=>



Comment vas tu ? t'es sur que ça va bien ? t'es pas un peu crevé ? parcequ'il faut être vachement crevé pour écrire ça !



une xmlhttprequest ne t'apporteras pas de sécurité en plus... juste des
ennuis, et une charge serveur supplémentaire... utilise du javascript :
par exemple une expression régulière...

In a dream, I saw me, drop dead... U was there, U cried... It was just a dream, if I die, U won't cry, maybe, U'll be happy

0
cs_AshenShugar Messages postés 202 Date d'inscription jeudi 24 juin 2004 Statut Membre Dernière intervention 22 janvier 2009 1
11 mars 2006 à 22:10
Je sais bien pour les XmtHttpRequest. J'ai déjà réfléchi à la
possibilité de faire une regexp, mais tu ne pourras pas vérifier si
l'utilisateur ne met pas un 30 février ! En plus, il faudrait aussi
tester si c'est une année bisextile ou non, etc...

J'avais fait un algo en javascript pour tester tout ca, je m'etais bien
pris la tete !!! Mais bon, si je le retrouve dans un code, je le poste !


Le hardware, c'est sur quoi l'on tape lorsque le software merde...
0
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
12 mars 2006 à 10:21
Et l'attribut disabled ne permet PAS de récupérer la valeur...la valeur d'un élément disabled ne passe pas dans la requête http. On utilise readonly si on veut une valeur non modifiable, et transmettable dans la requête http.
0
thomvaill Messages postés 366 Date d'inscription mercredi 7 avril 2004 Statut Membre Dernière intervention 20 février 2007 2
12 mars 2006 à 10:26
Ah.. Je ne savais pas. Merci, j'ai appris quelque chose ^^

Thomvaill
IRC : Thomas (irc.heliosnet.org:6667 #programmation)
0
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
12 mars 2006 à 12:15
Salut,

ta fonction de véréfication ne sera pas plus complexe en javascript qu'en php...

In a dream, I saw me, drop dead... U was there, U cried... It was just a dream, if I die, U won't cry, maybe, U'll be happy

0
Rejoignez-nous