Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > JavaScript
JavaScript Forum programmation JavaScript. Lire : Cours JavaScript, FAQ JavaScript, Toutes les FAQ JavaScript et Sources JavaScript
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 19/06/2011, 18h28   #1
Invité de passage
 
Inscription : novembre 2010
Messages : 5
Détails du profil
Informations forums :
Inscription : novembre 2010
Messages : 5
Points : 0
Points : 0
Par défaut conflit event onkeyup

Bonjour à tous et à toutes !

Je travaille actuellement sur le développement d'un site de quizz. A chaque quizz l'utilisateur doit taper la réponse dans une input text, il n'y a qu'une seule bonne réponse possible.

La réponse ne contient jamais d'accents, pour éviter que les utilisateurs ne tapent des accents j'empêche leur saisie avec l'événement onkeyup.

Page soumission.php
Code :
<input name="code" id="code" type="text" size="66" OnKeyUp="this.value=this.value.toLowerCase().replace('é','e');>
J'ai depuis décidé de rajouter un script d'auto suggestion à mon champ text (à chaque lettre tapée des réponses sont suggérées à l'utilisateur), je l'appelle depuis le fichier suggestion.js . Le problème est que depuis que j'ai fait ça mon événement onkeyup qui empêchait précedemment la saisie des accents ne fonctionne plus. Quand je désactive une partie du script d'auto suggestion il fonctionne à nouveau.

Voici la partie du script d'auto suggestion concernée :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
 
field.onkeyup = function(e){
var key = getKeyCode(e);
switch(key){
case 13:
return false;
break;			
case 27:  // esc
field.value = "";
selectedIndex = 0;
clearList();
break;				
case 38: // up
navList("up");
break;
case 40: // down
navList("down");		
break;
default:
startList();			
break;
};
Je précise que je très crasse en javascript, peut-être que c'est juste une simple variable à ajouter, mais je ne vois pas... Avez-vous une idée ?
topoto est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/06/2011, 20h40   #2
Membre expérimenté
 
Avatar de nadox
 
Homme
Développeur
Inscription : février 2010
Messages : 360
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Calvados (Basse Normandie)

Informations professionnelles :
Activité : Développeur
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : février 2010
Messages : 360
Points : 545
Points : 545
Bonjour,

Lorsque tu définis un gestionnaire d'évènement avec l'une des deux façons que tu as utilisé(attribut dans le tag html ou attribut sur l'objet javascript), il s'agit du même élément que tu écrase donc.

pour attacher des gestionnaires d'évènement multiples sur un même élément, il faut utiliser :
addEventListener ou attachEvent selon le navigateur et la compatibilité désirée.
plus d'info ici :
http://www.quirksmode.org/js/events_advanced.html

J'ai posté hier un exemple de fonction permettant d'attacher un gestionnaire d'évènement de façon cross-browser ici :
http://www.developpez.net/forums/d10...e/#post6067566
Cela devrait te permettre de mieux comprendre comment on utilise ça.
nadox est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 01h30.


 
 
 
 
Partenaires

Hébergement Web