Trigger un input (qui agit comme une barre de recherche) en insérant un mot
Résolu
Ben_Lyon
Messages postés
10
Date d'inscription
Statut
Membre
Dernière intervention
-
Ben_Lyon Messages postés 10 Date d'inscription Statut Membre Dernière intervention -
Ben_Lyon Messages postés 10 Date d'inscription Statut Membre Dernière intervention -
Bonjour tout le monde.
Mon but est de trigger mon input (qui agit comme une barre de recherche) en insérant un mot (avec un bouton). Actuellement mon input n'est pas trigger (j'ajoute le mot avec un bouton mais le barre de recherche ne prend pas en compte le mot ajouté). Avez-vous des conseils svp ? Merci d'avance pour votre aide. NB: J'ai regardé les scripts de simulation de touches clavier (sans succès) + " .on('input' " (mais je ne suis pas sûre que cela puisse m'aider).
Pour voir mes scripts en fonctionnement = https://jsfiddle.net/4k9gxvho/.
Sinon ici =
Mon but est de trigger mon input (qui agit comme une barre de recherche) en insérant un mot (avec un bouton). Actuellement mon input n'est pas trigger (j'ajoute le mot avec un bouton mais le barre de recherche ne prend pas en compte le mot ajouté). Avez-vous des conseils svp ? Merci d'avance pour votre aide. NB: J'ai regardé les scripts de simulation de touches clavier (sans succès) + " .on('input' " (mais je ne suis pas sûre que cela puisse m'aider).
Pour voir mes scripts en fonctionnement = https://jsfiddle.net/4k9gxvho/.
Sinon ici =
<input id="searchbar" onkeyup="fsearch()" type="text"> <br /> <span class="choice">A</span> <span class="choice">B</span> <br /> <button onclick="word_insertion(this)" data-product-name="A">Insert A</button> <!-- Script = Insertion mot --> <script> function word_insertion(element){ document.getElementById('searchbar').value = element.getAttribute('data-product-name');} </script> <!-- Script = Barre de recherche --> <script> function fsearch(){ let input = document.getElementById('searchbar').value input=input.toLowerCase(); let x = document.getElementsByClassName('choice'); for (i = 0; i < x.length; i++) { if (!x[i].innerHTML.toLowerCase().includes(input)) { x[i].style.display="none"; } else { x[i].style.display="list-item"; }}} </script>
Configuration: Windows / Chrome 85.0.4183.102
A voir également:
- Trigger un input (qui agit comme une barre de recherche) en insérant un mot
- Trousseau mot de passe iphone - Guide
- Mot de passe - Guide
- Mettre un mot de passe sur un dossier - Guide
- Mot de passe administrateur - Guide
- Mot de passe bios perdu - Guide
2 réponses
Bonjour,
Je ne suis pas sûr de comprendre ce que tu veux ....
Trigger signifie Déclencher .... hors.. on ne déclenche pas un input ....
J'ai l'impression que tu aimerais que ta fonction fsearch soit déclenchée une fois le mot inséré .. c'est bien ça ??
Dans ce cas, il suffit d'appeller ta fonction à la suite de ta fonction fsearch
PS: Comme tu peux le voir, il n'est pas necessaire d'ouvrir/fermer plusieurs balises script... une seule suffit pour englober tout ton code JS
PS²: Le code, bien indenté... est largement plus facile à lire
J'espère que tu en prendras bonne note pour tes prochains codes.
Je ne suis pas sûr de comprendre ce que tu veux ....
Trigger signifie Déclencher .... hors.. on ne déclenche pas un input ....
J'ai l'impression que tu aimerais que ta fonction fsearch soit déclenchée une fois le mot inséré .. c'est bien ça ??
Dans ce cas, il suffit d'appeller ta fonction à la suite de ta fonction fsearch
<script> // Script = Insertion mot function word_insertion(element){ document.getElementById('searchbar').value = element.getAttribute('data-product-name'); fsearch(); } // Script = Barre de recherche function fsearch(){ let input = document.getElementById('searchbar').value input=input.toLowerCase(); let x = document.getElementsByClassName('choice'); for (i = 0; i < x.length; i++) { if (!x[i].innerHTML.toLowerCase().includes(input)) { x[i].style.display="none"; } else { x[i].style.display="list-item"; } } } </script>
PS: Comme tu peux le voir, il n'est pas necessaire d'ouvrir/fermer plusieurs balises script... une seule suffit pour englober tout ton code JS
PS²: Le code, bien indenté... est largement plus facile à lire
J'espère que tu en prendras bonne note pour tes prochains codes.
Bonjour. Je ne pensais pas que se serait aussi simple! J'avais déjà essayé de tout englober dans un seul script (voir mon https://jsfiddle.net/4k9gxvho/) par contre je n'avais encore jamais appelé la seconde fonction à la fin de la première. Très bonne idée, merci encore !