Besoin d'aide Javascript

Bonjour,

J'ai besoin de votre aide pour résoudre un problème JavaScript dans le cadre d'un projet scolaire.

Je souhaite créer un outil en HTML et JavaScript qui calcule les heures et les minutes restantes à l'heure actuelle. Cela me permettra de connaître l'heure future.

Voici le code que j'ai préparé :

HTML:

<h1>Time From Now</h1>

<label>Hours</label>
<input type="number" id="hours" value="0" min="0">

<label>Minutes</label>
<input type="number" id="minutes" value="0" min="0">

<button onclick="calculateTime()">Calculate Future Time</button>

<div id="result"></div>

JavaScript:

function calculateTime() {
	var hours = document.getElementById("hours").value;
	var minutes = document.getElementById("minutes").value;
	
	console.log(hours+", "+minutes);

	let currentTime = new Date();

	currentTime.setHours(currentTime.getHours() + hours);
	currentTime.setMinutes(currentTime.getMinutes() + minutes);

	let futureTime = currentTime.toLocaleTimeString([], {
		hour: "numeric",
		minute: "2-digit"
	});

	document.getElementById("result").value = "Future Time: " + futureTime;
}

Lorsque j'exécute ce code, les valeurs des heures et des minutes ne sont pas récupérées. La console reste vide.

Quel pourrait être le problème ? Merci de votre aide.

3 réponses

  1. Bonjour,
    Je n'arrive pas à reproduire le problème, chez moi les valeurs s'affichent bien dans la console.


    0
    1. Obtenez-vous le résultat final concernant l'heure future ?

      0
    2. @JeenaHarry

      Le div#result ne possède pas d'attribut value, tu peux utiliser la propriété innerHTML à la place de value pour afficher le résultat :
      document.getElementById("result").innerHTML = "Future Time: " + futureTime;

      1
    3. @jjs

      Ah, je vois. Les petits détails sont très importants en programmation.

      0
  2. Je souhaite ajouter des fonctionnalités avancées à mon outil. Pourriez-vous m'aider ?

    Voici ce que j'aimerais ajouter :

    1. Un compteur affichant l'heure actuelle en temps réel.

    2. La conversion entre les formats d'heure de 12 et de 24 heures.

    Voici la référence : https://time-calculator.net/hours-from-now.html

    Merci d'avance pour votre aide.

    0
    1. Un exemple pour afficher l'heure actuelle en temps réel : 

      www.w3schools.com/js/tryit.asp?filename=tryjs_timers_interval

      Pour les formats 12h ou 24h, tu peux utiliser l'option "hour12" (true ou false) dans le 2ème paramètre de la méthode toLocaleTimeString() en plus des options "hour" et "minute" que tu utilises déjà.

      0
  3. Je souhaite afficher l'heure actuelle dans les champs de saisie.

    1er champ: Heure

    2e champ: Minutes

    3e champ: Secondes

    Comment puis-je afficher ces trois valeurs dans des champs de saisie différents ?

    0