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 :

Calcul différence heure


Sujet :

JavaScript

  1. #41
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2017
    Messages
    162
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : Dom-Tom

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2017
    Messages : 162
    Points : 48
    Points
    48
    Par défaut
    Non c'est pas mon cas

  2. #42
    Membre expert
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    2 873
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 2 873
    Points : 3 717
    Points
    3 717
    Par défaut
    même quand tu choisis une durée de plusieurs mois par exemple ?

  3. #43
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2017
    Messages
    162
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : Dom-Tom

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2017
    Messages : 162
    Points : 48
    Points
    48
    Par défaut
    Oui sa fonctionne bien

  4. #44
    Membre expert
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    2 873
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 2 873
    Points : 3 717
    Points
    3 717
    Par défaut
    Ok bon ben c'est peut-être un problème de version...

    Sinon c'est normal que ton code ne fonctionne pas, il y a beaucoup de chose à revoir...

    - Par exemple tu mets plusieurs onchange dans certains input or il semblerait que seul un des deux soit lancé...

    - Le onchange n'est pas déclenché chez moi lorsque tu modifies le input par du code JS (et c'est ce que tu attends/espères apparemment) d'ailleurs à ce propos j'ai trouvé cette explication ici #5 de Watilin...

  5. #45
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2017
    Messages
    162
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : Dom-Tom

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2017
    Messages : 162
    Points : 48
    Points
    48
    Par défaut
    Waw par contre je connaissait pas ces événements en javascript mais t'inquiete j'ai réglé mon probleme mais a tu vu ce que j'avais comme message sous mon code html, a propos de faire un if dans ton code javascript

  6. #46
    Membre expert
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    2 873
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 2 873
    Points : 3 717
    Points
    3 717
    Par défaut
    Mais il faudrait régler ces problèmes que je t'ai indiqués car ton interface n'est pas commode, elle n'est pas réactive, si on change une donnée le calcul n'est pas toujours mis à jour ce qui est pénible et trompeur (source d’erreur)...

    Bon à toi de voir...

    De plus il y a plusieurs optimisations possibles pour le code JS mais bon là aussi à toi de voir...

    Sinon pour ce que tu demandais voilà une fonction qui semble faire l'affaire compte tenu de ton html et du reste du code JS :

    Code javascript : 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
    21
    22
    23
    24
     
    function calculTotal() {
        var heureMatin = document.getElementById("ttc").value.split(":");
        var heureApresMidi = document.getElementById("ttc2").value.split(":");
        var heureMatinEnMinutes = heureMatin[0] * 60 + +heureMatin[1];
        var heureApresMidiEnMinutes = heureApresMidi[0] * 60 + +heureApresMidi[1];
     
        if (isNaN(heureMatinEnMinutes)) heureMatinEnMinutes = 0;
        if (isNaN(heureApresMidiEnMinutes)) heureApresMidiEnMinutes = 0;
     
        var somme = heureMatinEnMinutes + heureApresMidiEnMinutes;
     
        var nbrJours = +document.getElementById("nbjourtotals").value;
        var nbrPersonnes = +document.getElementById("nbpers").value;
     
        var durreTotale = somme * nbrJours * nbrPersonnes;
     
        var durreTotaleHeures = Math.floor(durreTotale / 60);
        var durreTotaleMinutes = durreTotale % 60;
     
        if (durreTotaleHeures < 10) durreTotaleHeures = "0" + durreTotaleHeures;
        if (durreTotaleMinutes < 10) durreTotaleMinutes = "0" + durreTotaleMinutes;
        document.getElementById("jourtotal").value = durreTotaleHeures + ":" + durreTotaleMinutes;
    }

  7. #47
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2017
    Messages
    162
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : Dom-Tom

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2017
    Messages : 162
    Points : 48
    Points
    48
    Par défaut
    Franchement merci beaucoup et maintenant je vais m'attaquer au problème que tu ma dit donc en gros je dois faire en sorte que les champs se mettent a jour lorsqu’on change de donnée. J'ai regarder quelque événement en javascript mais rien ne correspond vraiment a ce que tu me dit, quel événement javascript qui serai préférable ?

  8. #48
    Membre expert
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    2 873
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 2 873
    Points : 3 717
    Points
    3 717
    Par défaut
    As-tu testé ? Ça marche ou pas ?

    Tu peux garder onchange mais il faut le mettre sur input type number où tu entres les nombres et non sur les input qui affichent les résultats (car ceux-là ils ne se déclenchent pas car les résultats sont affichés par du code JS).

  9. #49
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2017
    Messages
    162
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : Dom-Tom

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2017
    Messages : 162
    Points : 48
    Points
    48
    Par défaut
    Effectivement tu n'a pas tort, finalement j'ai opter pour onkeyup et sa fonctionne proprement.

    Mais dit moi, comment faire en sorte qu'il y est que 2 chiffre après une virgule en javascript

  10. #50
    Membre expert
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    2 873
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 2 873
    Points : 3 717
    Points
    3 717
    Par défaut
    La nouvelle fonction fonctionne comme tu veux alors ?

    Pour ta question regarde ça : https://developer.mozilla.org/fr/doc...Number/toFixed

  11. #51
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2017
    Messages
    162
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : Dom-Tom

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2017
    Messages : 162
    Points : 48
    Points
    48
    Par défaut
    Oui la nouvelle fonction fonctionne comme je veux franchement merci beaucoup

+ Répondre à la discussion
Cette discussion est résolue.
Page 3 sur 3 PremièrePremière 123

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