|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Invité régulier
![]() Inscription : juillet 2005 Messages : 39 ![]() |
Bonjour,
Je cherche à permettre aux utilisateurs d'insérer quelques caractères spéciaux dans leurs champs de formulaires, mais je ne souhaite pas installer tout un éditeur de texte "riche". J'ai trouvé quelque chose qui fonctionne (je mets l'exemple en fin de message) et je crée un petit bouton du style Code :
document.write("<span onclick='insertion(\"\330\",\"\");'>\330</span>"); Cela fonctionne bien, mais le problème de la fonction JS que j'ai trouvée est qu'il faut indiquer "en dur" dans la fonction le champ dans lequel insérer le symbole, et le caractère ne s'insère donc pas dans le champ "dans lequel est l'utilisateur". Pourriez-vous m'aider à implémenter cela ? Bonne soirée, merci d'avance pour votre aide Code :
|
||
|
|
00
|
|
|
#2 |
|
Membre chevronné
![]() Inscription : novembre 2012 Messages : 513 ![]() |
Bonjour,
La partie délicate, c'est que si l'utilisateur doit cliquer sur un bouton pour saisir un caractère spécial, alors il perd le focus du champ qu'il était en train de modifier. Donc difficile de savoir le champ dans lequel il est Tu peux enregistrer en Javascript le dernier champ focus par l'utilisateur , mais c'est un peu du bricolage. |
|
|
00
|
|
|
#3 | ||
![]() ![]() ![]() Didier MouronvalDéveloppeur Web Inscription : juin 2008 Messages : 18 565 ![]() |
Sylvain, il existe une astuce pour gérer le focus, c'est utiliser l'événement onmousedown avec un return false :
Code html :
__________________
Pas de question technique par MP ! Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi ! Vous possédez un blog et aimeriez diffuser vos billets sur le forum, contactez-moi ! Mes formations video2brain : La formation complète sur JavaScript • JavaScript et le DOM par la pratique • PHP 5 et MySQL : les fondamentaux Mon livre sur jQuery
|
||
|
00
|
|
|
#4 |
|
Membre chevronné
![]() Inscription : novembre 2012 Messages : 513 ![]() |
Ah pas bête
|
|
|
00
|
|
|
#5 |
|
Invité régulier
![]() Inscription : juillet 2005 Messages : 39 ![]() |
Merci Bovino, c'est plutôt pas mal en effet !
Je suis en train de voir si je peux régler les 2 micro-problème : - insérer le caractère à l'endroit où on a laissé le curseur dans le champ - récupérer le focus sur le champ après l'insertion Mais merci beaucoup en tout cas
|
|
|
00
|
|
|
#6 | ||
![]() ![]() ![]() Didier MouronvalDéveloppeur Web Inscription : juin 2008 Messages : 18 565 ![]() |
C'est un peu plus compliqué car il faut gérer l'objet Range.
Un exemple : Code :
__________________
Pas de question technique par MP ! Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi ! Vous possédez un blog et aimeriez diffuser vos billets sur le forum, contactez-moi ! Mes formations video2brain : La formation complète sur JavaScript • JavaScript et le DOM par la pratique • PHP 5 et MySQL : les fondamentaux Mon livre sur jQuery
|
||
|
00
|
|
|
#7 | ||
![]() ![]() ![]() Didier MouronvalDéveloppeur Web Inscription : juin 2008 Messages : 18 565 ![]() |
Citation:
Citation:
__________________
Pas de question technique par MP ! Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi ! Vous possédez un blog et aimeriez diffuser vos billets sur le forum, contactez-moi ! Mes formations video2brain : La formation complète sur JavaScript • JavaScript et le DOM par la pratique • PHP 5 et MySQL : les fondamentaux Mon livre sur jQuery
|
||
|
00
|
|
|
#8 |
|
Membre chevronné
![]() Inscription : novembre 2012 Messages : 513 ![]() |
Moi non plus je n'ai pas de iPigeon, mais il va falloir t'y faire, on produit plus d'écrans tactiles que de claviers aujourd'hui
Pour la navigation au clavier (comprendre alt+tab et enter), je ne vois pas comment ça pourrait fonctionner avec onmousedown ^^ Mais c'est moins grave dans la mesure où les "keyboarders" se sont rassemblés en un obscur groupuscule surfant sur le net avec Lynx |
|
|
00
|
|
|
#9 | |
![]() ![]() ![]() Didier MouronvalDéveloppeur Web Inscription : juin 2008 Messages : 18 565 ![]() |
Citation:
Pourtant, j'étais persuadé d'avoir testé mais c'était juste pour le changement de focus sur les textarea ! ![]() Ceci dit, il doit y avoir un moyen avec onactivate et DOMactivate...
__________________
Pas de question technique par MP ! Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi ! Vous possédez un blog et aimeriez diffuser vos billets sur le forum, contactez-moi ! Mes formations video2brain : La formation complète sur JavaScript • JavaScript et le DOM par la pratique • PHP 5 et MySQL : les fondamentaux Mon livre sur jQuery
|
|
|
10
|
|
|
#10 |
|
Invité régulier
![]() Inscription : juillet 2005 Messages : 39 ![]() |
Bonjour,
Je m'apprêtais à passer cette discussion en "Résolu", mais je constate le comportement suivant sous IE8 : lorsque j'insère le caractère spécial dans un textarea contenant des retours à la ligne, ceux-ci sont supprimés. Avez-vous une idée pour corriger cela ? J'avais plus ou moins laissé tomber mes deux autres comportements "nice-to-have ("insérer le caractère à l'endroit où on a laissé le curseur dans le champ" et "récupérer le focus sur le champ après l'insertion"), mais celui-ci sera plus dur à faire passer auprès des utilisateurs Merci pour votre aide ! |
|
|
00
|
Copyright © 2000-2013 - www.developpez.com