IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

[PHP 5.5] gestion de <input type="date"> en fonction des navigateurs


Sujet :

Langage PHP

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2014
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Aude (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2014
    Messages : 21
    Points : 18
    Points
    18
    Par défaut [PHP 5.5] gestion de <input type="date"> en fonction des navigateurs
    Bonsoir,
    je suis actuellement en train de travailler sur mon premier site en php (version 5.5). A un moment, je nécessite la saisie de dates (dans un formulaire). J'utilise donc la fonction un input de type date.
    Sous mozilla firefox 33.1 et sous internet explorer 11, j'obtiens un champ text, que je peux librement pré-remplir avec value. Sous Google Chrome 39, en revanche, j'obtiens un champ de type date, pré-rempli par défaut par jj/mm/aaaa (les '/' n'étant pas modifiables), acompagné de flèches de défilement et de la possibilité d'afficher un calendrier (flèche supplémentaire à coté du champ). Par contre, le préremplissage n'est possible que sous la forme value="aaaa-mm-jj" (même format envoyé par le formulaire).

    Dans un premier temps, j'ai juste eut besoin de faire saisir une date (sans pré-remplissage) en demandant à l'utilisateur de l'écrire au format jj/mm/aaaa. A l'aide des expressions régulières, je testais ensuite quel type de date avait été envoyée par le formulaire (testant au passage si la date était valide), et je transformais la date jj/mm/aaaa en aaaa-mm-jj (nécessaire pour l'enregistrement dans la base de donnée MySQL.
    Donc jusqu'à là, j'ai réussit à me débrouiller pour (je pense) rester compatible avec tous les navigateurs (au moins avec les dernières versions de google chrome, IE et Firefox).

    Là où je bloque, c'est que je veux maintenant permettre à l'utilisateur de modifier les données qu'il à enregistré : il me faut donc pré-remplir tout les champs (dont les dates). Ma question est donc de savoir comment je pourrait le faire, tout en gardant les avantages du champ date en tant que tel quand il est disponible (ce qui je suppose finira par être le cas sur de plus en plus de navigateurs)? Là pour le coup, je ne vois plus trop comment je pourrais faire.

    En vous remerciant par avance,
    Sandro

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    En l'état, tu es coincé.
    À moins de mettre en place une mazouterie Javascript pour détecter les capacités du navigateur et refournir la date au format correspondant.
    Bref beaucoup pour pas grand chose.

    Il est sûrement plus simple de continuer a proposer des interfaces annexes pour la saisie des dates plutôt que de s'appuyer sur le navigateur.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre expert
    Avatar de Spartacusply
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2011
    Messages
    1 723
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2011
    Messages : 1 723
    Points : 3 274
    Points
    3 274
    Par défaut
    L'utilisation du type date est pas encore terrible terrible (comme tu as pu le constater) mais ça va venir, petit à petit...

    En attendant pour l'instant il reste recommandé d'utiliser des plugins javascript comme datepicker.
    Un message utile vous a aidé ? N'oubliez pas le

    www.simplifions.fr - Simplifier vos comptes entre amis !

  4. #4
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2014
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Aude (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2014
    Messages : 21
    Points : 18
    Points
    18
    Par défaut
    merci, je vais essayer.
    Au pire, je fais 3 champs (jour, mois et année).

  5. #5
    Expert éminent Avatar de CosmoKnacki
    Homme Profil pro
    Justicier interdimensionnel
    Inscrit en
    Mars 2009
    Messages
    2 848
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Justicier interdimensionnel

    Informations forums :
    Inscription : Mars 2009
    Messages : 2 848
    Points : 6 535
    Points
    6 535
    Par défaut
    Oui, ou tu fais un seul champ simple, tu affiches le format attendu à coté, genre (jj/mm/aaaa), pour avertir l'utilisateur, puis tu vérifies coté serveur et/ou coté client si ce qui a été rentré est cohérent (format correct + existence de la date).


    ps: s'il s'agit de la date de naissance de l'utilisateur, vérifie quand même qu'il n'a pas plus de 130 ans.
    Brachygobius xanthozonus
    Ctenobrycon Gymnocorymbus

  6. #6
    Expert éminent sénior

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    5 380
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 5 380
    Points : 10 410
    Points
    10 410
    Par défaut
    Oui tu peux n'utiliser qu'un champ puis ce genre de fonction. Ou préalablement datepicker comme cité plus haut si tu as plus de temps (mais faut toujours vérifier côté serveur ensuite).

Discussions similaires

  1. [JSP]<input type="file">
    Par phoebe dans le forum Servlets/JSP
    Réponses: 13
    Dernier message: 16/07/2012, 20h50
  2. Réponses: 5
    Dernier message: 30/03/2007, 19h26
  3. [AJAX] input type=file avec php côté serveur
    Par redstain dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 04/01/2007, 16h43
  4. Réponses: 12
    Dernier message: 28/04/2006, 12h38
  5. [<input type="file"/>]
    Par NikoBe dans le forum Balisage (X)HTML et validation W3C
    Réponses: 7
    Dernier message: 27/04/2005, 10h17

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo