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 :

Rejeter une frappe


Sujet :

JavaScript

  1. #1
    Membre actif
    Homme Profil pro
    Retrait�
    Inscrit en
    F�vrier 2009
    Messages
    22
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activit� : Retrait�
    Secteur : Enseignement

    Informations forums :
    Inscription : F�vrier 2009
    Messages : 22
    Par d�faut Rejeter une frappe
    Bonjour,
    J'utilise l'�v�nement keypress pour g�rer la frappe 'en live'.
    Cependant, je ne sais comment rejeter une frappe incorrecte.
    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
    	function miseEnForme (evt)
    	{
    		element = evt.target ;
    		c = evt.key ;
    		num = element.value ;
    		if (! c.match(/[0-9.,]/) || (c.match(/[.,]/) && num.match(/[.,]/)))
    		{
    			alert("refusé : num = " + num) ;
    			element.value = num ;
    			return ;
    		}		
    		num += c ;
    		resu = euro.format (num) ;
    		et = document.getElementById(element.id +"-txt") ;
    		et.value = resu ;
    	}
    Note : � chaque �l�ment correspond un �l�ment -txt pour visualiser le format en �.

    Probl�me : le caract�re frapp� apparait toujours dans le champ. Comment s'en d�barrasser ?

  2. #2
    Membre Expert Avatar de darkstar123456
    Homme Profil pro
    D�veloppeur Web
    Inscrit en
    Mars 2008
    Messages
    1 895
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 41
    Localisation : Belgique

    Informations professionnelles :
    Activit� : D�veloppeur Web

    Informations forums :
    Inscription : Mars 2008
    Messages : 1 895
    Par d�faut
    Bonjour,

    Le code est pratiquement correct.
    Le probl�me est que le comportement par d�faut doit �tre bloqu�
    Pour cela, on utilise event.preventDefault();, voici un exemple : https://codepen.io/DarkStar123456/pe...G?editors=0010

    Par contre, ce qui me choque un peu, c'est que vous r��crivez le mode de fonctionnement de l'input type="number".
    Si vous souhaitez ajouter un suffixe �, il devrait se trouver en dehors de l'input.
    D'autant plus qu'il modifie la valeur de type "nombre" (entier ou float) en type string), ce qui emp�cherait n'importe quel futur calcul � faire

  3. #3
    Membre actif
    Homme Profil pro
    Retrait�
    Inscrit en
    F�vrier 2009
    Messages
    22
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activit� : Retrait�
    Secteur : Enseignement

    Informations forums :
    Inscription : F�vrier 2009
    Messages : 22
    Par d�faut
    Merci, c'est exactement ce que je voulais.
    Pr�cision : le champ transmis par le FORM est le champ trait� par cette miseEnForme est de type="monnaie" donc "text". Le champ -txt ne sert qu'� visualiser un r�sultat en bonne �criture d'�. Ce champ n'est pas transmis. Seul est transmis le champ trait� sans mise en forme.

    Pourquoi tout �a ? Parce que l'utilisation d'un pattern n'est pas 'in live'. L'utilisation d'un type="number" impose un +- et un pas de 0.01 dans mon cas ...

  4. #4
    Membre Expert
    Avatar de Doksuri
    Profil pro
    D�veloppeur Web
    Inscrit en
    Juin 2006
    Messages
    2 495
    D�tails du profil
    Informations personnelles :
    �ge : 55
    Localisation : France

    Informations professionnelles :
    Activit� : D�veloppeur Web

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 495
    Par d�faut
    petite subtilite : developer.mozilla.org/fr/docs/Web/API/Document/keypress_event
    Cette fonctionnalit� a �t� supprim�e des standards du Web
    Cet �v�nement est d�pr�ci� et il faudrait plut�t utiliser beforeinput ou keydown (en-US).
    La forme des pyramides prouve que l'Homme a toujours tendance a en faire de moins en moins.

    Venez discuter sur le Chat de D�veloppez !

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. Cyanogen Inc aurait rejet� une offre de rachat de Google
    Par Hinault Romaric dans le forum Android
    R�ponses: 5
    Dernier message: 07/10/2014, 12h09
  2. Transf�rer une frappe d'un utilisateur vers une autre page
    Par sevyc dans le forum G�n�ral JavaScript
    R�ponses: 5
    Dernier message: 25/02/2013, 14h13
  3. [Debutant] Simuler une frappe clavier
    Par SofEvans dans le forum Langage
    R�ponses: 3
    Dernier message: 11/07/2011, 10h02
  4. Ouvrir un formulaire par une frappe au clavier
    Par ozerte dans le forum IHM
    R�ponses: 10
    Dernier message: 11/10/2008, 13h41
  5. Interdire une frappe d'un caract�re non num�rique
    Par fatati dans le forum C++Builder
    R�ponses: 13
    Dernier message: 12/12/2006, 09h56

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