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

Contributions JavaScript / AJAX Discussion :

Les formulaires (partie 2) : Comment remplacer un caract�re par un autre lorsque l'utilisateur renseigne. . . [Fait] [FAQ]


Sujet :

Contributions JavaScript / AJAX

  1. #1
    Expert confirm�
    Avatar de Auteur
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    7 660
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 7 660
    Par d�faut Les formulaires (partie 2) : Comment remplacer un caract�re par un autre lorsque l'utilisateur renseigne. . .
    Comment remplacer un caract�re par un autre lorsque l'utilisateur renseigne un champ texte ?
    http://javascript.developpez.com/faq...s#RemplacerCar

    • ajout d'un avertissement
    • accolades ouvrantes � la ligne



    Comment remplacer un caract�re par un autre lorsque l'utilisateur renseigne un champ texte ?


    Par exemple, si l'on veut remplacer toutes les virgules par un point.
    Voici le code de la fonction :
    Code javascript : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    function virgule(texte) 
    {
        if (texte.substr(texte.length-1,1) == ",") 
        {
        document.getElementById('champ').value=texte.substr(0,texte.length-1)+ "." ;
        }
    }
    Et voici le code du champ texte :

    Code html : S�lectionner tout - Visualiser dans une fen�tre � part
    <input type="text" id="champ" onkeyup="virgule(this.value);">

    Attention :
    • si l'utilisateur laisse le doigt appuy� sur la touche virgule "," seule la derni�re virgule (apr�s rel�chement de la touche) sera transform�e en point ".".
    • si une cha�ne de caract�res contenant des virgules est copi�e-coll�e dans le champ, les virgules ne sont pas transform�es en points.

  2. #2
    Expert �minent

    Avatar de vermine
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    6 582
    D�tails du profil
    Informations personnelles :
    �ge : 40
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2008
    Messages : 6 582
    Par d�faut
    Bien vu pour les avertissements.

  3. #3
    R�dacteur/Mod�rateur

    Avatar de SylvainPV
    Profil pro
    Inscrit en
    Novembre 2012
    Messages
    3 375
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2012
    Messages : 3 375
    Par d�faut
    Cette m�thode ne convient pas du tout, elle ne changera la virgule que s'il s'agit du dernier caract�re entr�. Si on retourne en arri�re dans le champ pour mettre une virgule, elle ne sera pas convertie.

    Je propose d'utiliser la m�thode String.replace() � la place :

    Comment remplacer un caract�re par un autre lorsque l'utilisateur renseigne un champ texte ?

    Par exemple, si l'on veut remplacer toutes les virgules par un point dans ce champ :
    Code html : S�lectionner tout - Visualiser dans une fen�tre � part
    <input type="text" id="champ">

    le code Javascript ad�quat est :
    Code js : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    document.getElementById("champ").addEventListener("keyup", function(e){
        var aRemplacer = ',', remplacerPar = '.';    
        var start = this.selectionStart,  end = this.selectionEnd;
        this.value = this.value.replace(new RegExp(aRemplacer,"g"),remplacerPar);
        this.setSelectionRange(start, end); // restaure la position du curseur
    });
    Test ici : http://jsfiddle.net/v6z7t/
    Le setSelectionRange n'est pas support� partout, mais �a reste mieux que l'ancienne fonction qui ne s'en pr�occupait m�me pas.

  4. #4
    Mod�rateur

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

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 210
    Par d�faut Relecture mais pas d'avis!
    L� je suis plus circonspect car pour moi aucune des deux m�thodes n'est vraiment actuellement viable.

    La m�thode propos�e par SylvainPV est la plus moderne mais incompl�tement support�e encore � ce jour.

    J'aurais tendance � pr�coniser un replace de la virgule par le point, c'est quand m�me le cas le plus fr�quent, sur l'�v�nement onblur du champ de saisie.
    En effet pourquoi changer les habitudes de celui/celle qui saisie ou de la configuration de son environnement, la remise en forme s'effectuant sur le onblur m'apparaissant satisfaire tout le monde.

    Donc je botte en touche sur celle l�

  5. #5
    Expert confirm�
    Avatar de Auteur
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    7 660
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 7 660
    Par d�faut
    On peut dire qu'il n'existe pas de solution adapt�e � tous les navigateurs ?
    Indiquer les d�fauts de chaque solution et pour la solution de SylvainPV ajouter les navigateurs compatibles ?

  6. #6
    Expert �minent

    Avatar de vermine
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    6 582
    D�tails du profil
    Informations personnelles :
    �ge : 40
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2008
    Messages : 6 582
    Par d�faut
    Oui il vaut mieux faire ainsi car on ne peut se permettre de laisser croire des choses. Il faut qu'on soit le plus clair possible pour le lecteur.

  7. #7
    Expert �minent

    Avatar de vermine
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    6 582
    D�tails du profil
    Informations personnelles :
    �ge : 40
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2008
    Messages : 6 582
    Par d�faut
    Quelle serait la formulation finale ?

  8. #8
    Membre Expert
    Avatar de Kaamo
    Homme Profil pro
    Ing�nieur d�veloppement logiciels
    Inscrit en
    Avril 2007
    Messages
    1 165
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 38
    Localisation : France, Bouches du Rh�ne (Provence Alpes C�te d'Azur)

    Informations professionnelles :
    Activit� : Ing�nieur d�veloppement logiciels
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 165
    Par d�faut
    Conserver le comportement sur le keyup mais ne remplacer que si la cha�ne comporte une virgule.
    http://jsfiddle.net/v6z7t/3/

  9. #9
    Expert �minent

    Avatar de vermine
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    6 582
    D�tails du profil
    Informations personnelles :
    �ge : 40
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2008
    Messages : 6 582
    Par d�faut
    Merci !


    Auteur, r�solu ?

  10. #10
    Expert confirm�
    Avatar de Auteur
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    7 660
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 7 660
    Par d�faut
    Si cela te convient oui.

  11. #11
    Expert �minent

    Avatar de vermine
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    6 582
    D�tails du profil
    Informations personnelles :
    �ge : 40
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2008
    Messages : 6 582
    Par d�faut
    Pfiou. J'ai adapt� toutes les Q/R sur les formulaires sur la faq de travail.

    Je n'ai pas, pour le moment, le temps de relire. Si quelqu'un peut vite jeter un coup d'oeil, ce serait sympa.


  12. #12
    Mod�rateur

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

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 210
    Par d�faut
    apr�s une lecture tr�s rapide

    Comment attribuer une valeur � l'attribut name d'un �l�ment cr�� par un script ?
    Pour cr�er un �l�ment HTML (par exemple un input), nous utilisons la syntaxe suivabte. Ce code fonctionne � partir de IE8 et sur les autres navigateurs :
    Pour les versions d'Internet Explorer ant�rieures � IE8), il faut int�grer l'attribut name dans la m�thode createElement(). Pour plus de d�tails, voir le paragraphe [Obsol�te] de cette Q/R.

  13. #13
    Expert �minent

    Avatar de vermine
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    6 582
    D�tails du profil
    Informations personnelles :
    �ge : 40
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2008
    Messages : 6 582
    Par d�faut
    Parfait, merci.

    J'ai pu refaire un passage �galement mais je n'ai pas encore eu l'occasion de le mettre en ligne. Ca concerne des broutilles (reformulation et mise en forme). De ce c�t�-l�, �a devrait �tre bon.

    J'esp�re cependant qu'il ne manque pas du contenu. J'ai pu sauter une Q/R sans le vouloir.

    J'ai ajout� Auteur sur une Q/R. J'avais oubli� de l'inclure malgr� sa relecture.

    D'ici quelques jours, je mettrai cela en production.


  14. #14
    Expert confirm�
    Avatar de Auteur
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    7 660
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 7 660
    Par d�faut
    Comment v�rifier la syntaxe d'une date ?
    Le style justifi� passe mal dans cette Q/R les mots sont s�par�s par de grands espaces.

    Je viens de m'apercevoir que j'ai oubli� 3 questions :
    Comment acc�der aux �l�ments d'un formulaire ?
    Comment lier deux listes d�roulantes entre elles ?
    Comment ajouter des options dans une liste d�roulante � partir d'une autre ?

  15. #15
    Expert �minent

    Avatar de vermine
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    6 582
    D�tails du profil
    Informations personnelles :
    �ge : 40
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2008
    Messages : 6 582
    Par d�faut
    Oui j'avais vu aussi. J'ai ajout� un passage � la ligne. Faudra que je regarde le r�sultat.

    Pour les questions, il y en a une que tu avais relue. Pour les autres, il faudrait effectivement jeter un coup d'oeil rapide.

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

Discussions similaires

  1. R�ponses: 11
    Dernier message: 19/11/2013, 21h36
  2. [FAQ] Les formulaires (partie 2) : Comment soumettre un formulaire automatiquement ?
    Par Auteur dans le forum Contributions JavaScript / AJAX
    R�ponses: 4
    Dernier message: 18/11/2013, 21h33
  3. [FAQ] Les formulaires (partie 2) : Comment v�rifier la syntaxe d'une date ?
    Par Auteur dans le forum Contributions JavaScript / AJAX
    R�ponses: 4
    Dernier message: 18/11/2013, 21h30
  4. R�ponses: 2
    Dernier message: 16/11/2013, 19h36
  5. [FAQ] Les formulaires (partie 2) : Comment soumettre un formulaire en utilisant un lien ?
    Par Auteur dans le forum Contributions JavaScript / AJAX
    R�ponses: 5
    Dernier message: 16/11/2013, 17h55

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