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

JavaScript Discussion :

Vérification format heure


Sujet :

JavaScript

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2013
    Messages
    120
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2013
    Messages : 120
    Par défaut Vérification format heure
    Bonjour,

    Voila depuis maintenant quelque heure que je me heurte à un problème.
    Dans un formulaire, je traite un champ de type texte, dont le format doit être dans le format suivant : HH:MM:SS

    Ma question est la suivante, avait vous des pistes pour pouvoir contrôler le format de ce champ ?
    Ne pas autoriser l'utilisateur à rentrer des caractères autres que des numéros et des ":" ?
    Ou si il est possible d'ajouter, comme pour un format date, un calendrier ou je ne sais quoi ?

    Merci d'avance

  2. #2
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 658
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 658
    Billets dans le blog
    1
    Par défaut
    il me semble que le sujet à déjà été traité ...
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2013
    Messages
    120
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2013
    Messages : 120
    Par défaut
    Redirection s'il vous plaît ? Car j'ai fait une recherche rapide, je n'ai pas trouvé mon bonheur :/

    J'utilise cette fonction pour le moment mais qui ne donne rien :/

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    function CheckHeure(H){
    	var thetime, hours, minutes, seconds;
    	var onetime;
     	var mysplit=H.split(' ');
    	if (mysplit.length != 2) {
    		return false;}
     	thetime = mysplit[0].split(':');
    	hours = parseInt(thetime[0],10);
    	minutes = parseInt(thetime[1],10);
    	seconds = parseInt(thetime[2],10);
     	if ((mysplit[1].length != 8) || (thetime.length != 3)||
    		(isNaN(hours)) || (isNaN(minutes)) || (isNaN(seconds)) ||
    		(thetime[0].length < 2) || (thetime[1].length < 2) || (thetime[2].length < 2)) {
    			alert('Erreur');}
    	if ((onetime.getHours() != hours) || (onetime.getMinutes() != minutes) || (onetime.getSeconds() != seconds)){
    		alert('Erreur');}
    	return true;
    }

  4. #4
    Membre Expert
    Avatar de Kaamo
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    1 165
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 165

  5. #5
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 658
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 658
    Billets dans le blog
    1
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2013
    Messages
    120
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2013
    Messages : 120
    Par défaut
    Code Html :
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <form name="saisie_periode" action="#">
    Heure  (Format HH:MM:SS) : <input type='text' name='heure' id='heure' maxlength='8' OnChange='CheckHeure(this)'/> </br>
    <input type='Submit' name="Submit" value="valider"/>
    </form>

    Code JS :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    function CheckHeure(H){
        var thetime, hours, minutes, seconds;
        var onetime;
        var mysplit=H.split(' ');
        if (mysplit.length != 2) {
            return false;}
        thetime = mysplit[0].split(':');
        hours = parseInt(thetime[0],10);
        minutes = parseInt(thetime[1],10);
        seconds = parseInt(thetime[2],10);
        if ((mysplit[1].length != 8) (thetime.length != 3)
            (isNaN(hours)) (isNaN(minutes)) (isNaN(seconds))
            (thetime[0].length < 2) (thetime[1].length < 2) (thetime[2].length < 2)) {
                alert('Erreur');}
        if ((onetime.getHours() != hours) (onetime.getMinutes() != minutes) (onetime.getSeconds() != seconds)){
            alert('Erreur');}
        return true;
    }
    Aucun résultat :/ Des éléments de réponse ?

  7. #7
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par défaut
    Format HH:MM:SS
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var mysplit=H.split(' ');
    Tu fais un split() sur les espaces, mais il n'y en a pas dans le format attendu...
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  8. #8
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2013
    Messages
    120
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2013
    Messages : 120
    Par défaut
    En effet, j'ai effectué quelques modifications dans le code, mais toujours aucun résultat :/

    Code HTML :
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <form name="saisie_periode" action="#">
    Heure  (Format HH:MM:SS) : <input type='text' name='heure' id='heure' maxlength='8' OnKeyUp='CheckHeure()'/> </br>
    <input type='Submit' name="Submit" value="valider"/>
    </form>

    Code JS :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    function CheckHeure(){
        var hours, minutes, seconds;
        var onetime;
    	var time = document.getElementById("heure")
    	hours = time.split(':');
        hours = parseInt(elem[0],10);
        minutes = parseInt(elem[1],10);
        seconds = parseInt(elem[2],10);
        if ((time.length != 8) ||
    		(isNaN(hours)) || (isNaN(minutes)) ||(isNaN(seconds)) ||
            (elem[0].length < 2) || (elem[1].length < 2) || (elem[2].length < 2)) {
                alert('Erreur');}
        return true;
    }

  9. #9
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 198
    Par défaut
    Bonjour,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    var time = document.getElementById("heure")
    hours = time.split(':');
    tu appliques la méthode split sur un objetDOM !?!

  10. #10
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2013
    Messages
    120
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2013
    Messages : 120
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    function CheckHeure()
    {
        var hours, minutes, seconds;
        var thetime;
    	var time = document.getElementById("heure")
     
    	thetime = time.split(':');
        hours = parseInt(thetime[0],10);
        minutes = parseInt(thetime[1],10);
        seconds = parseInt(thetime[2],10);
     
        if ((time.length != 8) ||
    		(isNaN(hours)) || (isNaN(minutes)) ||(isNaN(seconds)) ||
            (thetime[0].length < 2) || (thetime[1].length < 2) || (thetime[2].length < 2)) {
                alert('Erreur');}
     
        return true;
    }
    Toujours rien :/

  11. #11
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 198
    Par défaut
    ceci est toujours d'actualité
    tu appliques la méthode split sur un objetDOM !?!

  12. #12
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2013
    Messages
    120
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2013
    Messages : 120
    Par défaut
    Désolé de ne pas avoir de connaissance aussi poussée que toi en javascript mais je ne vois pas où est mon erreur... Pourrait tu m’éclairer ?

    C'est parce que je fais un split sur un document.getElementById("heure") ?

  13. #13
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2013
    Messages
    120
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2013
    Messages : 120
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <form name="saisie_periode" action="#">
    Heure (Format HH:MM:SS) : 
    <input type='text' name='heure' id='heure' maxlength='8' /> </br>
    <input type='Submit' name="Submit" value="valider" OnSubmit="CheckHeure()"/>
    </form>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    //Heure au format HH:MM:SS
    function CheckHeure()
    {
        var hours, minutes, seconds;
        var thetime;
    	var time = document.getElementById("heure")
     
    	thetime = time.split(':');
        hours = parseInt(thetime[0],10);
        minutes = parseInt(thetime[1],10);
        seconds = parseInt(thetime[2],10);
     
        if ((time.length != 8) || (isNaN(hours)) || (isNaN(minutes)) ||(isNaN(seconds)) || (thetime[0].length < 2) || (thetime[1].length < 2) || (thetime[2].length < 2)) {
                alert('Erreur');
    			return false;
    			}
     
    	alert('test');
    	return true;	
    }
    Ça m’exécute même pas le alert('test')... incompréhensible ! Help

  14. #14
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2013
    Messages
    120
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2013
    Messages : 120
    Par défaut
    Problème résolu ! Je clos

  15. #15
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 198
    Par défaut
    Problème résolu ! Je clos
    j'espère simplement que tu as bien compris l'erreur que tu faisais

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [VB]Format heure enc millisecondes
    Par maillardd dans le forum VB 6 et antérieur
    Réponses: 11
    Dernier message: 02/02/2006, 09h17
  2. Format Heure : + de 24 H impossible
    Par priest69 dans le forum Access
    Réponses: 2
    Dernier message: 25/01/2006, 23h34
  3. probleme format heures access
    Par nath-nancy dans le forum Access
    Réponses: 9
    Dernier message: 28/11/2005, 16h36
  4. Convertir une chaine en format heure
    Par Lars dans le forum ASP
    Réponses: 3
    Dernier message: 24/05/2005, 11h44
  5. Format heure dans Interbase
    Par Battomura dans le forum InterBase
    Réponses: 2
    Dernier message: 14/03/2003, 13h17

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