Partage
  • Partager sur Facebook
  • Partager sur Twitter

Exécution fonction JS appui "Entrer" dans input

    11 avril 2021 à 18:31:46

    Bonjour,

    J'ai créé une barre de recherche comme ci-dessous :

    <div class="search-bar">
        <input type="text">
        <img src="img/search-icon.png" alt="Search icon"/>
    </div>

    Je voudrais que lorsque l'utilisateur appui sur la touche "Entrer" de son clavier (en ayant focus l'input bien sûr), cela exécute une fonction JavaScript.

    Mon problème est de récupérer l'appui de cette touche au focus de l'input afin d'exécuter la fonction.

    Savez-vous comment faire cela ?

    Merci d'avance pour vos réponses

    -
    Edité par TitouanDev 11 avril 2021 à 19:34:55

    • Partager sur Facebook
    • Partager sur Twitter
    - TitouanDev -
      12 avril 2021 à 9:15:08

      Bonjour,

      une possibilité c'est de mettre ton <input> dans un <form>, et de capturer la soumission du form (qui se fait avec la touche Entrée). À noter qu'une <img> pour le bouton de recherche, c'est non : utilise un <button>, ça soumettra le form aussi, et ça sera bien plus propre (c'est son boulot, au button, d'être sélectionné/cliqué, et en plus ça sera accessible au clavier).

      • Partager sur Facebook
      • Partager sur Twitter

      Pas d'aide concernant le code par MP, le forum est là pour ça :)

        12 avril 2021 à 10:39:15

        Bonjour, tu peut quand mettre ton image en tant qu'enfant du bouton et cela te permet de lui mettre le type submit,

        et mettre la bar de recherche dans une balise form en plus de pouvoir capturé l'envoi avec la touche entrée de façon automatique, plus tard cela pourras te permettre de faire fonctionné la bar de recherche sans Javascript.

        Tu peut ajouté du CSS sur le boutton pour qu'il et une apparence "neutre" si tu veut qu'on ne voit que l'image, il sera quand même accessible au clavier.

        <div class="search-bar">
        	<form>    	
                <input type="text">
        
                <button type="submit">
                	<img src="img/search-icon.png" alt="Search icon"/>
                </button>
            </form>
        </div>

         Ensuite pour capturé l'envoi du formulaire tu ajoute un écouteur d'évenement de type "submit" sur le formulaire lorsque utilisateur appui sur la touche entrée avec le focus dans le input cela déclenche l'envoi du formulaire sans devoir manuellement écouté l'appui des touche dans le input.

        // en admettant que "form" et une séléction valide du document
        form.addEventListener('submit', function(event) {
        
        	// annule le comportement par défaut
            // ici l'envoie des donnée à la source
        	event.preventDefault();
            
            // ... ...
        });



        • Partager sur Facebook
        • Partager sur Twitter

        suggestion de présentation.

        Exécution fonction JS appui "Entrer" dans input

        × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
        × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
        • Editeur
        • Markdown