[HTML] onclick et onkeypress dans un select ???

onclick et onkeypress dans un select ??? [HTML] - Programmation

Marsh Posté le 19-07-2001 à 19:58:50    

bon ben voila, je dois utiliser des selects :p.
mais a chaque modification de la valeur du select sélectionner la page html doit etre raffraichis en fonction de cette valeur.
 
mais l'on peut selectionner unevaleur dans un select simplement en cliquant sur la fenetre du select et et donc en surlignant la valuer deja saisie puis il suffit de taper la lettre que l on veut sur le clavier pour qu'il apparaisse et la ca raffraichis donc la fenetre.
dpnc la pas de pb mais si jamais dans le select il y a plusieurs choix commencant pas une meme lettre il faudra proablement taper plusiquers fois sur cette lettre pour qu'elle soit selectionner, et donc la page sera raffraichie plusieurs fois ce qui est pas genial.
 
j ai une solution a ca, il suffit d obliger lutilisateur a derouler la liste du select ainsi on peut toujours choisir une valeur parmis celle presente en tapant sur le clavier sans que celle ci soit selectionner.
mais je ne sais pas comment desactiver la fonction de selection lorque la liste est fermee :(.
 
et autre petit truc :), est il possible de faire en sorte qu'a la place de la premiere lettre l'utilisateur puisse choisir dans le select une valeur mais en fonction des 2 premieres touchent frappées ? il frappe par exemple ME et hop ca trouve menage, puis s il tape derriere ca il trouve cataclysme.
 
merci de votre aide :).


---------------
Daladahihou!!!
Reply

Marsh Posté le 19-07-2001 à 19:58:50   

Reply

Marsh Posté le 19-07-2001 à 23:59:50    

hihi...
Jai rien pigé.. hihi :D
 
Mais si tu veux faire une liste deroulante et ke ta page se raffraichisse lorsque tu changes l'element selectionné... bah...
suffit de mettre un onchange et un location.href bien placé
et hop, le tour est joué...
Bien sur, ton select doit avoir un size=1 si tu veux kil soit deroulant
 
Par contre pour le truc du je tape deux touches et hop positionnement magique.. ben c pas possible sans faire d'usine a gaz ...

Reply

Marsh Posté le 20-07-2001 à 01:24:17    

wouatouwouatou a écrit a écrit :

hihi...
Jai rien pigé.. hihi :D
 
Mais si tu veux faire une liste deroulante et ke ta page se raffraichisse lorsque tu changes l'element selectionné... bah...
suffit de mettre un onchange et un location.href bien placé
et hop, le tour est joué...
Bien sur, ton select doit avoir un size=1 si tu veux kil soit deroulant
 
Par contre pour le truc du je tape deux touches et hop positionnement magique.. ben c pas possible sans faire d'usine a gaz ...  



ok ca je sais faire deja merci :).
 
mais en fait quand tu selectionnes juste le select sur ta page html et que tu appuis sur une touche il va selectionner le premeir element commencant par cette lettre, ok ? ensuiste si tu retapes la meme lettre il va prendre le second etc...
exemple: da,s le select:
 
manger
papa
ralala
reussite
ressort
evacuer
eradiquerbein si tu tapes sur R il va te sortir ralala et si tu retapes il va ressortir reussite, ok ?
 
le seulprobleme c est que si je fais ca sans avoir ouvert laliste avant bein il va selectionner automatiquement la valeur ce qui aura pour effet ed raffraichir la page.
 
par contre si tu cliques que le select de anier avoir la liste, il sera possible de choisir avec les lettres du clavier et de faire de meme que precedemment cite mais cela sns selectionner la valeur il sera juste surligne, et donc ne raffraichira pas la page tant qu l on aura pas cliquer sur la valeur.
 
et je veux donc empecher la selection avec les touches du clavier si laliste n estpas ouverte.
 
sinon beni spour la selection avec 2 touches si une usine a gaz peu le faire ca minteresse aussi :).
merci.


---------------
Daladahihou!!!
Reply

Marsh Posté le 20-07-2001 à 08:24:13    

essaye le onchange plutot!!

Reply

Marsh Posté le 20-07-2001 à 08:32:06    

grosmethos a écrit a écrit :

essaye le onchange plutot!!  



pourquoi faire ?  
je l utilse deja pour raffraichir l image.


---------------
Daladahihou!!!
Reply

Marsh Posté le 20-07-2001 à 21:25:51    

bon... pour l'usine a gaz.. ca va chauffer :D :D
J'explique le principe... sous i.e :D pour netscape fo voir...
 
1 - tu met un event onkeydown (me rapelle plus du nom exact :D )
2 - tu met plus de onchange par contre
3 - tu joue avec les onfocus ou onblur :D
4 - l'idée: passer par une chaine de caracteres en memoire... soit via un champ caché soit ben... ot'chose.. un peu comme la recherche d'un element dans un tableau...
5 - t'auras aussi un index a memoriser qqpart :D
 
Au départ, tu initialises ta chaine a la chaine vide et ton index a -1.
 
Focus:
Ensuite, qd ta liste a le focus (onFocus :D ) ou perd le focus (onblur je crois :D ), tu initialises ta chaine avec la chaine vide.
 
KeyDown:
Pour le onkeydown (ou touche appuyée), tu concatenes le caractere tapé a ta chaine en memoire... tu peux meme affiner en filtrant les caracteres tapés.
Une fois concatenée, tu parcours la liste pour trouver la premiere occurence commencant par ta chaine ainsi concatenee.  
Si tu trouve, tu memorise la position dans l'index 'memoire' et tu fais un select() sur cette postion.
Si tu trouve pas, ben tu fais rien... :D
Si tu veux, pour eviter de reparcourir toute la liste, tu peux commencer a partir de l'index 'memoire'. Mais fo faire gaffe au cas ou il est a -1 (aucune selection)... et aussi au cas ou ta chaine 'memoire' est vide... bref, tu suis tjrs ?? :D
 
Avec ce truc, tu peux meme definir le nombre de caracteres max dont tu veux tenir compte pour ta recherche dans la liste...
Dans ce cas, une fois le max atteint, tu remets a vide la chaine 'memoire' pour une nouvelle recherche.
 
Le select(), tu peux le faire uniquement lors du onblur.. je pense ke ca devrais aller... :D:D
 
J'espere ke ta suivi :D
Bon courage.. et tiens moi au courant.. je veux savoir si ca marche :D:D:D..

Reply

Marsh Posté le 21-07-2001 à 03:01:16    

aie aie aie la prise de tete :D.
je perdre autant de temps a fie ca que a faire l appli elle meme :D.
 
mais jai besoin du onchange :(.
je peux pas faire autrement.
bonbein jeverais ca des que l appli sera fini et hop j essai de faire ce truc :D.
 
merci :).


---------------
Daladahihou!!!
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed