Zone de saisie de date, formatage ?

Signaler
Messages postés
80
Date d'inscription
mercredi 4 avril 2001
Statut
Membre
Dernière intervention
19 mai 2012
-
Messages postés
12303
Date d'inscription
mardi 10 février 2004
Statut
Modérateur
Dernière intervention
30 juillet 2012
-
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

Messages postés
132
Date d'inscription
mardi 21 juin 2005
Statut
Membre
Dernière intervention
18 juin 2009

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.
Messages postés
132
Date d'inscription
mardi 21 juin 2005
Statut
Membre
Dernière intervention
18 juin 2009

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.
Messages postés
10840
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
23
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
Messages postés
202
Date d'inscription
jeudi 24 juin 2004
Statut
Membre
Dernière intervention
22 janvier 2009
1
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...
Messages postés
10840
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
23
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...?
Messages postés
202
Date d'inscription
jeudi 24 juin 2004
Statut
Membre
Dernière intervention
22 janvier 2009
1
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...
Messages postés
366
Date d'inscription
mercredi 7 avril 2004
Statut
Membre
Dernière intervention
20 février 2007
2
Ou si tu ne veux pas qu'on modifie la date :

" disabled="disabled" />

Thomvaill
IRC : Thomas (irc.heliosnet.org:6667 #programmation)
Messages postés
202
Date d'inscription
jeudi 24 juin 2004
Statut
Membre
Dernière intervention
22 janvier 2009
1
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...
Messages postés
366
Date d'inscription
mercredi 7 avril 2004
Statut
Membre
Dernière intervention
20 février 2007
2
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)
Messages postés
12303
Date d'inscription
mardi 10 février 2004
Statut
Modérateur
Dernière intervention
30 juillet 2012
40
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

Messages postés
202
Date d'inscription
jeudi 24 juin 2004
Statut
Membre
Dernière intervention
22 janvier 2009
1
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...
Messages postés
10840
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
23
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.
Messages postés
366
Date d'inscription
mercredi 7 avril 2004
Statut
Membre
Dernière intervention
20 février 2007
2
Ah.. Je ne savais pas. Merci, j'ai appris quelque chose ^^

Thomvaill
IRC : Thomas (irc.heliosnet.org:6667 #programmation)
Messages postés
12303
Date d'inscription
mardi 10 février 2004
Statut
Modérateur
Dernière intervention
30 juillet 2012
40
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