5546 sujets

Sémantique web et HTML

Bonjour,

J'aimerais faire travailler le système Autocomplete sur un champ de saisie search, sans faire appel à des données de mon site, juste avec les données de navigation du browser connecté.

Comment fait-on savoir au navigateur qu'un clic de l'usager sur un élément du menu déroulant vaut un clic sur le bouton ?

J'imagine un onFocus, ou onKeyup ou quelque-chose de cet ordre, valable sur un écran de smartphone, mais je n'ai pas vu. J'ai sans doute mal cherché.

Quelqu'un a-t-il une piste ?

Merci d'avance.
Bonjour JENCAL, Merci d'intervenir.

L'essentiel est en bas de ce message. Il n'y a pas de code à proprement parler qui pourrait te permettre d'y voir plus clair. Je sais que monter un dispositif autocomplete en connexion avec une base nécessite du code. Mais générer du trafic navigateur/serveur juste pour cela ne m'intéresse pas.

En revanche, par défaut, et s'il n'est pas indiqué l'attribut autocomplete="off" le type "search" génère spontanément un menu déroulant, et le charge à l'aide de données d'historiques présentes sur ce navigateur. À moins que l'usager ait une possibilité de paramétrer sur tel ou tel navigateur un blocage du dispositif, il verra donc une énumération de ses saisies antérieures. C'est le navigateur qui gère à sa manière. Je pense que la réaction commune à tous les navigateurs sera de placer en zone texte le contenu de l'élément choisi par cet usager sur pression [doigt,souris,tracker]. Et c'est à ce moment que je souhaiterais voir déclenchée la recherche sur mon site, l'équivalent d'une pression sur le bouton "chercher".

En tout cas ce menu déroulant n'a besoin d'aucun code html pour exister, et c'est justement pour cela que je ne sais pas où ni comment indiquer au navigateur qu'un choix dans l'énumération vaut un feu vert pour la recherche.

Merci d'avance pour toutes pistes à travailler, et bonne journée.

<form action="/url/" method="post">
<input type="search" name="leNom" placeholder="Mots clés">
<input type="submit" name="ok" value="Chercher">
</form>