4 votes

Autocomplétion à la saisie (mais PAS dans la sélection automatique)

J'ai un champ de saisie simple

et sur enter je veux le soumettre (le formulaire dans lequel il se trouve). J'utilise jQuery mais pas d'extension d'auto-complétion, donc c'est juste celle du navigateur par défaut :

$('#searchfield')
.keypress(function(event) {
        var keycode;
        if (window.event)
            keycode = window.event.keyCode;
        else if (event)
            keycode = event.which;
        else
            return true;

        if (keycode == 13)
            $('#searchForm').submit();
});

Problème avec cette solution : Lorsque quelqu'un (dans FF3) commence à taper (disons "stackov"), puis va vers le bas pour le choix proposé et appuie sur entrée, le formulaire est envoyé, mais en recherchant "stackov", et non le choix "stackoverflow".

Sinon, j'ai essayé

$('#searchfield')
.change( function() {
   $('#singleSearch').trigger('click');
})

Cela m'a permis de trouver le bon choix de "stackoverflow", mais maintenant tout La sortie du champ (comme dans blur(), après avoir tapé quelques lettres par exemple) l'a involontairement fait partir.

Des conseils (idéalement testés ;) à ce sujet ?

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