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 :

event.preventDefault ne passe pas


Sujet :

JavaScript

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    329
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 329
    Points : 151
    Points
    151
    Par défaut event.preventDefault ne passe pas
    Bonsoir,

    J'essaie de créer une fonction en javascript qui me bloque la saisie de la virgule (voir le code ci-dessous).

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    function myFunction(event) {
    //var key = event.keyCode;
    if (event.keyCode == 188) 
    {
    event.preventDefault();	
    alert ("ATTENTION !!! \nLa virgule est interdite, utiliser le point du pav\351 num\351rique.");
    }
     
    }
    Le code fonctionne, seulement si je mets l'alerte, "event.preventDefault();" lui ne fonctionne plus... Il fonctionne sans le message d'alerte.
    J'ai essayé un peu empiriquement toutes les positions de alert() rien n'y fait, ça passe pas.
    Mon soucis est que je veux un message d'alerte pour prévenir l'utilisateur que la virgule est interdite sans la bloquer purement et simplement.

    Merci de vos aide.

    Cordialement.

  2. #2
    Expert éminent sénior

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    5 389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 5 389
    Points : 10 422
    Points
    10 422
    Par défaut
    Salut,

    Et il te sert à quoi le event.preventDefault(); dans ton code ?

  3. #3
    Membre expert
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    2 886
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 2 886
    Points : 3 725
    Points
    3 725
    Par défaut
    Salut,

    Moi aussi dernièrement j'ai voulu utiliser cette fonction, ça ne fonctionnait pas car j'avais utilisé charCode au lieu de keyCode (c'est apparemment aussi votre cas).

    Sinon je n'ai pas compris le nombre 188 dans if (event.keyCode == 188) mais j'ai essayé avec if (evt.charCode == 44) et ça fonctionne...

    Regardez ici http://jsfiddle.net/5njc69y5/5/ pour essayer...

    Le code affiche aussi le charCode et le keyCode de chaque touche frappée dans la textearea de gauche.

    Citation Envoyé par ABCIWEB Voir le message
    Salut,

    Et il te sert à quoi le event.preventDefault(); dans ton code ?
    Salut, je pense que c'est censé empêcher l'affichage de la virgule comme dans le code dont j'ai posté le lien ci-dessus...

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    329
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 329
    Points : 151
    Points
    151
    Par défaut
    Bonjour,

    Le event.preventdefault sert en principe pour ne pas afficher la dernière saisie en principe la virgule, et le code 188 correspond normalement la virgule ?
    Cependant il semble que keycode et charcode soit différent, donc je pense que pour charcode c'est 44 et non plus 188.

    Je vous remercie pour vos aides, le code http://jsfiddle.net/5njc69y5/5/ correspond exactement à ce que je recherchais.

    Cordialement.

  5. #5
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 075
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 075
    Points : 44 679
    Points
    44 679
    Par défaut
    Bonjour,
    Mon soucis est que je veux un message d'alerte pour prévenir l'utilisateur que la virgule est interdite(...)
    le plus sympa reste quand même de laisser l'utilisateur faire suivant ses habitudes et/ou son environnement et d'effectuer le changement sur le onblur de l'élément de saisie avant utilisation de la valeur.

    Tu peux également regarder du coté des INPUT type="number" ainsi que du coté de l'attribut pattern, c'est du HTML5 mais diversement supporté !

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

Discussions similaires

  1. Réponses: 6
    Dernier message: 13/02/2015, 12h36
  2. event.preventDefault(); ne fonctionne pas !
    Par Shuret dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 09/12/2010, 09h29
  3. Requête qui ne passe pas
    Par TheBart dans le forum Langage SQL
    Réponses: 2
    Dernier message: 10/08/2005, 10h12
  4. Envoi de mail [Hotmail : OK ; Wanadoo : Passe pas]
    Par NeoMan dans le forum Réseau
    Réponses: 14
    Dernier message: 28/07/2005, 10h52
  5. Sujet du mailto quine passe pas...
    Par Gourouni dans le forum ASP
    Réponses: 6
    Dernier message: 21/01/2005, 15h57

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