1. Ce site utilise des cookies. En continuant à utiliser ce site, vous acceptez l'utilisation des cookies. En savoir plus.
  2. Bonjour tout le monde ! Veillez consulter la Politique de forum pour comprendre nos règles, Merci a vous !
    Rejeter la notice

TUTO webdev : Restreindre la saisie à certains caractères

Discussion dans 'Webdev' créé par Germanicus, Juin 2, 2018.

  1. Germanicus

    Germanicus Active Member

    Inscrit:
    Jan 7, 2018
    Messages:
    56
    J'aime reçus:
    179

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!



    Voici une petite astuce pour n'autoriser la saisie que de certains caractères dans un champ webdev :

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!



    Dans cet exemple par exemple je n'autorise que la saisie de caractères hexadécimaux de A à F, et de 0 à 9.

    ALLONS PLUS LOIN !


    Remplaçons la gestion standard de la saisie, par la notre.

    Le but ici est non seulement de n'autoriser que certains caractères à être saisis, mais aussi de pouvoir convertir ce qui ne nous plait pas, comme par exemple un "é" accentué minuscule en E majuscule, à la volée. Ou encore, afficher le texte saisi en majuscules, même lorsque le clavier est en minuscule.

    Comme j'ai créé une procédure globale Navigateur pour gérer ce problème partout ou il se posera, il suffira d'appeler la procédure TraiteSaisie() dans tous les événements onKeyDown des champs de saisie à filtrer de la manière suivante :

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!



    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!


    PARAMETRE 1 : le nom de l'Alias du champ de Saisie
    PARAMETRE2 : le contenu initial avant modification du champ de saisie
    PARAMETRE 3 : caractère retourné par le JSInfoEvénement("key"))

    NOTE : il a été nécessaire de conserver l'appel a JSInfoEvénement() dans l'évenement onkeydown, car sinon tous les navigateurs ne se comportent pas correctement si on le gère dans TraiteSaisie().

    Et voici le code à placer dans une collection de procédures globales navigateur :

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!





    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!



    A vous ensuite de programmer la procédure qui renvoie une chaîne filtrée, depuis la chaîne que vous lui fournissez, selon vos propres besoins :

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!




    AVERTISSEMENT :
    ne pas utiliser JSInfoEvénement ailleurs que dans les événements, sinon certains navigateurs n'apprécient pas (Firefox & Edge).

    En effet un warning webdev devrait vous afficher :



    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!



     
    irobot et joker aiment ça.

Partager cette page

Chargement...