IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

Evenement onPaste sous Mozilla


Sujet :

JavaScript

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15
    Points : 12
    Points
    12
    Par défaut Evenement onPaste sous Mozilla
    Bonjour,

    Je cherche a controller les saisies dans un formulaire.
    Le problème survient pour un copier-coller déclenché via un clic droit de souris, ou par le menu d'édition.

    Sous IE pas de problème, avec l'evenement onpaste + une lecture du presse papier.

    Sous mozilla, rien de tout ca n'est possible...

    Alors j'ai 2 questions :
    - Y a t'il un moyen de savoir lorsque l'utilisateur colle quelque chose ?
    - Plus généralement, existe-il un évenement qui se déclenche dès qu'une modification survient dans un champs.
    Attention je ne parle pas de l'évènement onChange (qui s'apparente a onBlur). Je cherche plutôt un évenement ressemblant à onKeyPress, mais qui prend en compte n'importe quelle entrée (pas que le clavier).

    Merci

  2. #2
    Modérateur
    Avatar de Bisûnûrs
    Profil pro
    Développeur Web
    Inscrit en
    Janvier 2004
    Messages
    9 887
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2004
    Messages : 9 887
    Points : 16 320
    Points
    16 320
    Par défaut
    Non, tu ne peux pas gérer ça.

    Peut-être à la limite avec un onmousedown ...

  3. #3
    Membre actif
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    221
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 221
    Points : 233
    Points
    233
    Par défaut
    il y a une possibilité !

    Tu fais une sorte de thread en javascript qui tourne et qui verifie le changement de l'input avec une variable temporaire Si la variable temporaire est modifier durant deux cycles c'est qu'il y a eu un changement de la part de l'utilisateur (gros avantage tu geres absolument tous les cas !)

    voila le code (fonctionnel) de ce que tu recherches

    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
     
    <html>
    	<head>
    		<title>check formulaire</title>
    		<script	language="javascript">
    		_tmpValueForm	= null;
    		function	threadCheck()
    		{
    			valueInput = document.getElementById('checkForm').value;
    			if (_tmpValueForm != valueInput)
    			{
    				if (_tmpValueForm != null)
    					alert('change!');
    				_tmpValueForm = valueInput;
    			}
    			setTimeout("threadCheck()",500);
    		}
    		</script>
    	</head>
    	<body>
    	<input id="checkForm" />
    	</body>
    <html>
    <script>
    window.onload = threadCheck;
    </script>
    et voila le travail

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15
    Points : 12
    Points
    12
    Par défaut
    OK super !
    Merci beaucoup.
    Je vais adapter cette solution a mon script.

  5. #5
    Membre actif
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    221
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 221
    Points : 233
    Points
    233
    Par défaut
    de rien
    de plus cette technique s'avere utile dans beaucoup de cas. Je te laisse imaginer le nombre de chose possible avec ca ! (et n'oublis pas le resolu )

  6. #6
    Inscrit Avatar de bilb0t
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    378
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2003
    Messages : 378
    Points : 283
    Points
    283
    Par défaut
    c'est quoi l'unité de temps sur le timer ? (le truc = 500)

  7. #7
    Membre actif
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    221
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 221
    Points : 233
    Points
    233
    Par défaut
    milli seconde
    Pour etre raisonnable j'ai mis une demi seconde apres libre a toi de faire tourner ce "thread" a fond ou calmement

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Problème evenement clavier sous fire fox.
    Par fxp17 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 05/01/2005, 15h59
  2. probleme de couleur de fond sous mozilla et pas sous IE
    Par soccernet dans le forum Balisage (X)HTML et validation W3C
    Réponses: 7
    Dernier message: 27/12/2004, 10h45
  3. découvrir les erreurs sous Mozilla
    Par rabobsky dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 18/12/2004, 20h51
  4. problème de passage de paramêtre sous mozilla
    Par mat10000 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 27/09/2004, 10h48
  5. Réponses: 18
    Dernier message: 19/08/2004, 15h11

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo