Bonjour à tous,
c'est mon premier post dans ce forum. J'ai mis en place une auto-complétion au niveau d'un <input type="text">, mais je rencontre un problème particulièrement énervant :
J'obtiens bien la liste des items. Mais quand je veux me déplacer dans la liste avec les touches FLECHE_BAS et FLECHE_HAUT, certes la sélection suit le mouvement, mais toute la page bouge également vers le haut ou vers le bas, en fonction de la touche enfoncée.
Exemple tout simple :
Fichier index.html
Les <br> sont nécessaires pour simuler le problème
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr"> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <title>Ajax AutoCompletion</title> </script> <script type="text/javascript" src="javascript/prototype.js"></script> <script type="text/javascript" src="javascript/scriptaculous.js"></script> <link rel="stylesheet" type="text/css" href="style.css" /> </head> <body> <br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br> <br><br><br><br><br><br><br><br><br><br> Texte : <input type="text" id="test" name="test"/> <div id="sug" class="autocomplete"></div> <script language="javascript"> new Ajax.Autocompleter( "test", "sug", "test.php"); </script> <br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br> <br><br><br><br><br><br><br><br> </body> </html>
test.php
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 <?php echo("<ul><li class=\"selected\">Toto</li><li>Titi</li></ul>"); ?>
style.css
Pouvez-vous m'aider à restreindre l'action des touches FLECHE_HAUT et FLECHE_BAS ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 #sug { position: absolute; } .selected { background: gray; color: white; } #sug ul { margin: 0; padding: 0; list-style-type: none; border: 1px solid gray; } #sug ul li { list-style-type:none; cursor: pointer; }
Merci d'avance
Partager