|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Invité de passage
![]() Inscription : janvier 2011 Messages : 15 ![]() |
Hello tout le monde,
J'ai un petit problème de conception/développement à vous soumettre. J'ai un formulaire contenant un input text et un sumbit. Voici le lien vers ce formulaire : http://perso.orange.fr/ultraviolet/index.html Lorsque l'input text est vide, le submit est inactif. Ce que je souhaite faire c'est rendre le bouton actif dès lors que le contenu de l'input text est non vide. Et ceci en temps réel, c'est à dire que c'est pendant la saisie du texte dans l'input que le bouton doit s'activer/désactiver. J'ai donc fait cela à l'aide de l'évènement "onkeyup" qui teste le contenu des champs Jusque là pas de soucis, ça fonctionne bien. Il me reste à traiter l'utilisation de la souris, car si un utilisateur colle du texte dans un champ (qui était vide jusque là) --> le bouton ne s'active pas. normal vous me direz, car le copier coller depuis la souris n'est pas concerné par l'évènement "onkeyup". J'ai donc mis en place l'interdiction de coller, grâce à du js. Jusque là toujours pas de soucis, ça fonctionne bien. Enfin pour finir, il me reste à traiter le cas où le champ est non vide et que l'utilisateur sélectionne le texte (à la souris) et le supprime (toujours à la souris) pour lequel mon bouton ne se désactive pas, alors qu'il le faudrait. J'ai donc mis en place un script qui empêche l'utilisateur de sélectionner du texte à la souris C'est ce que j'ai fait à l'aide de l'évènement onselectstart que je fais renvoyer false (pour IE) , et à l'aide de la propriété MozUserSelect pour FF. Encore une fois, pas de soucis, ca fonctionne. Mais, problème : sous FF quand l'utilisateur clique dans le champ input, le focus de la souris ne veut pas se mettre là ou je clique, il reste là où il est ou bien (si on est sorti du champ) se met à l'endroit où il était lors de la dernière saisie dans le champ. Et je ne trouve pas çà très "user friendly" Voilà j'espère que mes explications ont été claires. Avez-vous une solution à m'apporter pour ce problème de clic ? Ou bien avez-vous une meilleur façon de faire générale ? Merci d'avance à la communauté pour votre aide ! voici le code source de ma page : Code :
|
||
|
|
00
|
|
|
#2 | |||
![]() ![]() ![]() Didier MouronvalDéveloppeur Web Inscription : juin 2008 Messages : 13 807 ![]() |
Citation:
![]() Bon, les solutions possibles : Pour le copier-coller : utiliser l'événement onpaste Pour la suppression du texte sélectionné, j'ai du mal à comprendre comment tu fais pour supprimer du texte à la souris ![]() Du coup, un code du style Code :
Code html :
<input type="text" id="monch" onkeypress="testChamp(this)" onpaste="testChamp(this)" value="" />
__________________
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
|
|
|
#3 |
|
Invité de passage
![]() Inscription : janvier 2011 Messages : 15 ![]() |
merci pour ta réponse,
je vais tester çà, et essayer de comprendre bien sur. Pour répondre à ta question, je peux supprimer à la souris en faisant un clic droit puis supprimer. Sinon, je suis d'accord avec toi, empêcher le copier-coller et la selection, n’est pas très userfriendly, j'avoue mais c'était la seule façon que j'avais imaginée pour permettre à mon principe d'activation/désactivation de bouton, de fonctionner. merci encore |
|
|
00
|
|
|
#4 | |||
![]() ![]() ![]() Didier MouronvalDéveloppeur Web Inscription : juin 2008 Messages : 13 807 ![]() |
Citation:
![]() Bon, un exemple testé sur FF7 et IE8 : 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
|
|
|
#5 | |
|
Membre Expert
![]() Thomas Ingénieur développement logiciels Inscription : juillet 2007 Messages : 741 ![]() |
Citation:
edit: mince ca marche pas, j'aurais du vérifier mes sources ^^ Mais je suis sur que ca doit exister
|
|
|
|
00
|
|
|
#6 | |
![]() ![]() ![]() Didier MouronvalDéveloppeur Web Inscription : juin 2008 Messages : 13 807 ![]() |
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
|
|
|
#7 |
|
Membre Expert
![]() Thomas Ingénieur développement logiciels Inscription : juillet 2007 Messages : 741 ![]() |
Mais moi j'ai même pas le supprimer comme option
C'est sur quel navigateur ? Pour ma culture, on catch comment un "cut" en javascript standart ? |
|
|
00
|
|
|
#8 |
![]() ![]() ![]() Didier MouronvalDéveloppeur Web Inscription : juin 2008 Messages : 13 807 ![]() |
Il faut sélectionner du texte dans l'input et faire clic droit, ça marche sur tous les navigateurs
Sinon, oncut existe bien (sauf pour Opera je crois) mais ne fonctionne que pour un CTRL+X ou clic droit > couper.
__________________
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
|
|
|
#9 |
|
Membre Expert
![]() Thomas Ingénieur développement logiciels Inscription : juillet 2007 Messages : 741 ![]() |
oncut ne marche pas avec Chrome apparement (edit: en passant par le menu contextuel)
effectivement, j'ai bien l'option "delete", je cherchais "supprimer" comme un boulet... |
|
|
00
|
|
|
#10 | ||
![]() ![]() ![]() Didier MouronvalDéveloppeur Web Inscription : juin 2008 Messages : 13 807 ![]() |
Si, oncut fonctionne bien, le problème, c'est que l'événement est déclenché avant que le champ ne soit coupé... Petit patch pour mon 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
|
|
|
#11 |
|
Invité de passage
![]() Inscription : janvier 2011 Messages : 15 ![]() |
merci à tous pour vos réponses.
J'ai appliqué une autre méthode et ça marche nickel : j'ai mis un setinterval sur l'évènement onfocus qui execute ma fonction test toutes les 200ms (Merci Yann au passage )Plus besoin d’interdire le copier/coller, ni la sélection et là je suis 100% "user friendly" |
|
|
00
|
|
|
#12 |
![]() ![]() ![]() Didier MouronvalDéveloppeur Web Inscription : juin 2008 Messages : 13 807 ![]() |
![]() Sincèrement, ça ne me semble pas être la meilleure solution... ![]() M'enfin, ensuite, c'est toi qui vois...
__________________
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
|
Copyright © 2000-2012 - www.developpez.com