Bonjour à tous,
Avant tout, je précise que je développe en ASP .NET1. Mais que je suis obligé de passer par du javascript pour contourner une limitation de l'asp .net1 (fonctionnalitée qui est dans le .net2).
Explication;
J'ai un formulaire, avec différents input text, buttons submit,...
lorsque l'utilisateur se trouve dans un input text et qu'il appuie sur "Enter", alors le browser click sur le bouton se trouvant le plus "proche" de cette zone de texte.
J'ai trouvé sur le net un petit code javascript qui permet de spécifier quel bouton sera cliqué lorsque l'utilisateur appuie sur "Enter".
La fonction va très bien sous IE, et ne donne rien sous FireFox. J'ai éssayé de faire une version Firefox, en m'inspirant de la FAQ, mais je rencontre diverses erreurs.
Voici le code:
Firefox arrive bien dans le bon if lors de l'appui sur la touche Enter...le code fautif est donc celui-ci...
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
27 <SCRIPT language='javascript'> function fnTrapKD(e,btn){ if(parseInt(navigator.appVersion) >=4) { if(navigator.appName == 'Netscape') { if(e.which==13) { e.returnValue=false; alert('ff'); e.cancel = true; document.getElementById(btn).click(); } } else { if (event.keyCode == 13) { event.returnValue=false; alert('ie'); event.cancel = true; btn.click(); } } } } </SCRIPT>
Premiere question comment annuler l'évenement en cours?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 e.returnValue=false; e.cancel = true; document.getElementById(btn).click();
Instinctivement j'ai fait comme pour IE avec returnValue=false et cancel = true sur l'évenement e puisque firefox ne reconnait pas event
Ensuite il doit y avoir un problème avec mon getElementById puisque Firefox me donne cette erreur:
J'ai éssayé aussiError: document.getElementById(btn) has no propertiesC'est pareil, je ne comprend pas pourquoi il ne reconnait pas btn comme une variable.
Code : Sélectionner tout - Visualiser dans une fenêtre à part document.getElementById(btn.value).click();
Merci pour votre aide
Partager