Impossible d'ajouter des minutes à un champ TimeType depuis JS ?

Par Jean Sérien, il y a 2 ans


Bonjour à tous,

Dans le code ci-dessous, l'incrémentation d'une valeur de champ "duree" (IntegerType) ne marche pas : Une concaténation se produit en place d'une addition... par contre la décrémentation elle , fonctionne parfaitement ! Pourquoi ?

D'autre part, j'essaie d'ajouter ou soustraire des minutes au champ "heureFin" qui est un TimeType mais je reçois un message "NaN" , je veux juste qu'après l'actualisation du champ "duree" le champ "heureFin" soit incrémenté ou décrémenté en partant de la valeur du champ "heureDebut"...

Merci d'avance pour votre aide

window.onload = () => { const btnsDuree = document.querySelectorAll(".btn-duree"); const duree = document.querySelector("#rendez_vous_duree"); const heureFin = document.querySelector("#rendez_vous_heure_fin"); const heureDebut = document.querySelector("#rendez_vous_heure_debut"); btnsDuree.forEach((btn) => { btn.addEventListener("click", (e) => { e.preventDefault(); switch (e.target.id) { case "btnMoins60": if (duree.value >= 75) { duree.value -= 60; } break; case "btnMoins15": if (duree.value >= 30) { duree.value -= 15; console.log(new Date(heureDebut,"HH:mm").getMinutes()); } break; case "btnPlus15": duree.value += 15; break; case "btnPlus60": duree.value += 60; break; default: return; } }); }); };

2 réponses

Jean Sérien, il y a 2 ans

Merci Grafikart d'avoir répondu !

Je ne connaissais pas encore "valueAsNumber" en effet tout marche correctement avec :)

Grafikart, il y a 2 ans

Attention value est une chaine de caractère (même si ton champs est un champs de type number) si tu veux la valeur sous forme de nombre utilise plutôt valueAsNumber