cs_Joez
Messages postés80Date d'inscriptionmercredi 4 avril 2001StatutMembreDernière intervention19 mai 2012
-
10 mars 2006 à 10:02
coucou747
Messages postés12303Date d'inscriptionmardi 10 février 2004StatutMembreDernière intervention30 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
stiml
Messages postés132Date d'inscriptionmardi 21 juin 2005StatutMembreDernière intervention18 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 :
" />
malalam
Messages postés10839Date d'inscriptionlundi 24 février 2003StatutMembreDernière intervention 2 mars 201025 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.
}
cs_AshenShugar
Messages postés202Date d'inscriptionjeudi 24 juin 2004StatutMembreDernière intervention22 janvier 20091 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 !');
}
malalam
Messages postés10839Date d'inscriptionlundi 24 février 2003StatutMembreDernière intervention 2 mars 201025 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...?
cs_AshenShugar
Messages postés202Date d'inscriptionjeudi 24 juin 2004StatutMembreDernière intervention22 janvier 20091 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...
coucou747
Messages postés12303Date d'inscriptionmardi 10 février 2004StatutMembreDernière intervention30 juillet 201244 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
cs_AshenShugar
Messages postés202Date d'inscriptionjeudi 24 juin 2004StatutMembreDernière intervention22 janvier 20091 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...
malalam
Messages postés10839Date d'inscriptionlundi 24 février 2003StatutMembreDernière intervention 2 mars 201025 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.