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 :

Restriction de la forme de saisie d'un champ input [Débutant(e)]


Sujet :

JavaScript

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    431
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 431
    Points : 129
    Points
    129
    Par défaut Restriction de la forme de saisie d'un champ input
    Bonjour,

    Je ne suis pas sur que mon titre soit tres claire.

    j'ai un champs de saisie, ou l'on peut saisir un nom de dossier sauf qu'il doit etre d'un format bien précis :
    "__ _ __ __ ___ __"
    j'ai deja une regex appliqué dessus:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    /[0-9]{2}\s\d\s[0-9]{2}\s\d\w\s[0-9]{3}\s[0-9]{2}/
    mais rien n’empêche la personne qui va saisir de mettre un valeur ou il devrai y avoir du vide.

    C'est a dire que je veux lui bloquer la possibilité de mettre son curseur en dehors des "_".

    J’espère que je suis suffisamment clair.

    Hésitez pas si je ne le suis pas.

  2. #2
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 665
    Points
    66 665
    Billets dans le blog
    1
    Par défaut
    jette un oeil sur les masque de sasie
    du genre http://www.webresourcesdepot.com/jav...t-input-masks/

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    431
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 431
    Points : 129
    Points
    129
    Par défaut
    Bonjour,

    Merci pour l'information je vais chercher en ce sens, bien qu'il me semblait que les masque de saisit était fait grâce aux regex.

    Je fait une confusions?

  4. #4
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 665
    Points
    66 665
    Billets dans le blog
    1
    Par défaut
    Oui et non ...

    Les regExp permettent en effet de vérifier un format de chaine de caracère
    Mais pour l'affichage c'est une autre affaire...

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    431
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 431
    Points : 129
    Points
    129
    Par défaut
    J'ai trouver cette focntion qui me parait pratiquement claire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    function init()
    {
       // Création du masque date jj/mm/aaaa
       oDateMask = new Mask("jj/mm/aaaa", "date");
       // Création du masque montant en euro
       oEuroMask = new Mask("€#_###.00", "number");
       // Associer le oDateMask aux 2 champs
       oDateMask.attach(document.monform.datedebut);
       oDateMask.attach(document.monform.datefin);
       // Associer le oEuroMask au champ
       oEuroMask.attach(document.monform.montant);
    }
    Cependant je ne trouve pas de liste d'argument c'est a dire que représente exactement# ?

    De le mieux est ce d'utiliser cette fonction a l'initialisation de la page ou lors d'un évènement de saisie? tel que onKeyUp etc...

  6. #6
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 665
    Points
    66 665
    Billets dans le blog
    1
    Par défaut
    J'ai trouver cette focntion qui me parait pratiquement claire

    Mask n'est pas une fonction js ... il y a un plugin ou un lib derrière
    et a priori je ne pense pas trop me mouille ren disant que dans ce cas # est le caractère joker pour du numerique ...

  7. #7
    Membre habitué
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    431
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 431
    Points : 129
    Points
    129
    Par défaut
    Effectivement j'étais passé à coté, je suis tombé sur un bibliothèque mais j'ai peur qu'elle soit uniquement prévue pour les dates et les nombres, ce qui me parait bizarre.
    Voici le liens de la bibliothèque cela vous parlera sûrement plus à vous qu'a moi.

    Je cherche donc a faire un masque de saisie de ce type la :
    "##_#_##_##_###_###"
    Et la cerise c'est que le 7me caractère peut être chiffre ou lettre contrairement aux autre qui ne sont que chiffre.

    J'ai vu dans la bibliothèque que '*' permettrait la validation de [0-9][a-z][A-Z]
    et que '#' permettrait la validation de [0-9]
    mais je ne sais pas trop comment appeler un type generic je ne suis pas sur que se soit possible

  8. #8
    Membre habitué
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    431
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 431
    Points : 129
    Points
    129
    Par défaut
    Voila finalement j'ai trouver en cherchant bien dans les test fournis
    on manipule comme on veut en mettant string comme type et la forme de notre masque de saisie.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    function MasqueSaisie(){
    		oEuroMask = new Mask("## # ## #* ### ##", "string");
    		oEuroMask.attach($('NumBl'));
    	}
    Merci SpaceFrog pour m'avoir orienté

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

Discussions similaires

  1. [AC-2007] Formulaire de recherche d'après form. de saisie
    Par Accessifiante dans le forum IHM
    Réponses: 20
    Dernier message: 11/10/2013, 07h38
  2. [10g Menu] Call Form pour saisie
    Par Jean_Benoit dans le forum Forms
    Réponses: 0
    Dernier message: 15/03/2010, 15h07
  3. Réponses: 23
    Dernier message: 01/09/2009, 09h51
  4. Detecter la saisie dans un champ input text
    Par suckthewindow dans le forum Balisage (X)HTML et validation W3C
    Réponses: 5
    Dernier message: 21/08/2008, 11h52
  5. Réponses: 5
    Dernier message: 08/03/2005, 13h22

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