JavaScript • Page 3 / Inputs & mini-jeu

Inputs, valeurs & mini-jeu “devine le nombre”

Tu vas apprendre à lire ce que l’utilisateur tape dans la page et à t’en servir dans ton code JS pour faire des petits jeux et interactions.

1. Les champs de formulaire (input)

En HTML, tu peux créer des champs :

<label for="pseudo">Ton pseudo :</label>
<input id="pseudo" type="text">
<button id="btn-pseudo">Dire bonjour</button>

En JS, on récupère la valeur avec la propriété .value.

const inputPseudo = document.querySelector("#pseudo");
const btnPseudo = document.querySelector("#btn-pseudo");

btnPseudo.addEventListener("click", () => {
  const valeur = inputPseudo.value;
  console.log("Utilisateur :", valeur);
});

Avec const champ = document.querySelector("#age");, comment lire ce que l’utilisateur a tapé ?

2. Attention : value = chaîne (string)

Quand tu récupères input.value, tu obtiens une chaîne de caractères, même si l’utilisateur tape un nombre.

const champ = document.querySelector("#age");
const txt = champ.value;

console.log(typeof txt); // "string"

Pour faire un calcul, convertis en nombre :

const n = Number(txt);      // ou parseInt(txt), parseFloat(txt)

Si l’utilisateur tape 5 dans un <input>, input.value vaut :

3. Mini calculatrice dans la page

On va faire un petit formulaire qui prend deux nombres et affiche la somme.

HTML

<input id="a" type="number" placeholder="Nombre A">
<input id="b" type="number" placeholder="Nombre B">
<button id="btn-calc">Calculer</button>
<p id="resultat">Résultat : ?</p>

JS

const champA = document.querySelector("#a");
const champB = document.querySelector("#b");
const btnCalc = document.querySelector("#btn-calc");
const pRes = document.querySelector("#resultat");

btnCalc.addEventListener("click", () => {
  const a = Number(champA.value);
  const b = Number(champB.value);
  const somme = a + b;
  pRes.innerText = "Résultat : " + somme;
});

Version mini intégrée ici :

Résultat : ?

Question : à quoi sert Number(...) dans ce code ?

4. Mini-jeu : devine le nombre (dans la page)

On va coder une version du jeu que tu as déjà vu en Python, mais cette fois directement dans la page web.

J’ai choisi un nombre secret entre 1 et 20. Tu as plusieurs essais, je te dirai “plus” ou “moins”.

// Idée de JS (tu peux le mettre dans un fichier js-3-game.js si tu veux)
let secret = Math.floor(Math.random() * 20) + 1;
let essais = 0;

function verifierProposition() {
  const val = Number(guessInput.value);
  essais++;

  if (val === secret) {
    // Bravo
  } else if (val < secret) {
    // C'est plus
  } else {
    // C'est moins
  }
}

Question rapide : que fait exactement Math.floor(Math.random() * 20) + 1 ?

5. Mini-projet : formulaire simple avec vérification

Crée une page formulaire-js.html + un fichier formulaire-js.js avec :

En JS :

// Piste
const inputPseudo = document.querySelector("#pseudo");
const inputAge = document.querySelector("#age");
const btn = document.querySelector("#btn-valider");
const message = document.querySelector("#msg");

btn.addEventListener("click", () => {
  // TODO : convertir l'âge avec Number(...)
  // puis afficher le bon message dans #msg
});
Avec JS + DOM + inputs, tu peux déjà coder : mini-jeux, petits systèmes d’inscription, modals, questionnaires, etc.