Bonjour à tous,
J'ai trouvé sur le Net un script qui recherche et sélectionne dans une liste ce qu'on tape au clavier
et cela marche bien pour les caractères alphabétiques (a, b , c...) mais pas pour les caractères comme : ":", "/"...
Voici mon script :
//******************************************************
<html>
<head>
<title>Test</title>
<script type="text/javascript">
var browser = navigator.userAgent;
var isOpera = (browser.indexOf("Opera") != -1);
var isIE = (!isOpera && browser.indexOf("MSIE") != -1);
var isMozilla = (!isOpera && !isIE && browser.indexOf("Mozilla") != -1);
var deb = "";
var timer;
var lastChoice = 0;
function checkKey(ev)
{
clearTimeout(timer);
var c = "";
//if(ev && ev.which) c = ev.which;
if(isIE) c = window.event.keyCode;
deb += String.fromCharCode(c).toLowerCase();
//alert(deb);
var s = document.getElementById("a");
for(var i=0; i<s.options.length; ++i) {
if(s.options[i].text.substr(0,deb.length).toLowerCase() == deb) {
s.selectedIndex = i;
lastChoice = i;
timer = setTimeout('resetString()', 3000);
return;
}
}
timer = setTimeout('resetString()', 500);
s.selectedIndex = lastChoice;
}
function resetString()
{
deb = "";
}
</script>
</head>
<body>
<select id="a" onkeydown="return false;" onkeypress="return false;" onkeyup="checkKey(event); return false;">
<option>albany</option>
<option>Albator</option>
<option>Cell:CHO</option>
<option>Cell:dd</option>
<option>:a</option>
<option>Game</option>
<option>Tata</option>
<option>Titi</option>
<option>Toto</option>
</select>
</body>
</html>
//*******************************************************
Je n'utilise que IE comme explorer.
Comment faire pour que la recherche accepte les caractères spéciaux ?
Merci beaucoup pour vos réponses.
laurent_diep.
Partager