2 votes

événements de saisie de nombres en javascript

Les éléments de la liste sont masqués par défaut. J'aimerais sélectionner un numéro dans l'entrée 'postnr', puis afficher les éléments de la liste. Je ne suis pas sûr de l'événement que je dois utiliser avec DOM. Je pense que je dois d'une manière ou d'une autre faire une boucle dans la liste et l'exécuter le même nombre de fois que l'entrée. Un conseil ?

let blogNr = document.getElementById("postnr");
var scene  = document.getElementById("blogposts");

blogNr.oncontextmenu {
  console.log("you changed the form");
}

ul {
  font-size : 20px;
  padding   : 10%;
  display   : none;
}

<input type="number" id="postnr" name="postnr" min="0" max="5">

<ul id="blogposts">
  <li>Lorem ipsum dolor sit, amet consectetur adipisicing elit. Beatae fugit ut quod reiciendis asperiores animi vitae incidunt aspernatur ullam autem.</li>
  <li>Lorem ipsum dolor sit, amet consectetur adipisicing elit. Beatae fugit ut quod reiciendis asperiores animi vitae incidunt aspernatur ullam autem.</li>
  <li>Lorem ipsum dolor sit, amet consectetur adipisicing elit. Beatae fugit ut quod reiciendis asperiores animi vitae incidunt aspernatur ullam autem.</li>
</ul>

0voto

ryanwaite28 Points 234

À titre d'information, voici une liste d'événements. https://www.w3schools.com/tags/ref_eventattributes.asp

Je ne sais pas exactement ce que vous demandez, alors voici quelques solutions possibles :

  1. Vous voulez le <ul> à afficher lorsque <input> a une valeur valide :

    let blogNr = document.getElementById("postnr"); let scene = document.getElementById("blogposts");

    blogNr.addEventListener(change, (event) => { const inputHasValue = !isNaN(event.target.value) && !!event.target.value; const useDisplayStyle = inputHasValue ? block : none; scene.style.display = useDisplayStyle; });

  2. Vous voulez le <li> dont l'index correspond à la valeur de l'entrée numérique (par exemple, si le numéro est 1, afficher le premier élément de l'entrée numérique). <li> ) pour montrer :

dans ce cas, cela n'aurait pas beaucoup de sens ou il y a peu d'avantage à utiliser <ul> de cette façon.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X