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 :

limiter valeur de saisie dans input text


Sujet :

JavaScript

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    96
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Mars 2008
    Messages : 96
    Points : 69
    Points
    69
    Par défaut limiter valeur de saisie dans input text
    Bonjour,

    J'ai cette ligne de code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type="texte" size="10" maxlength="10" onkeypress="if((event.keyCode < 48 || event.keyCode > 57) && event.keyCode != 45 ) event.returnValue = false;"/>
    qui me permet de limiter les caractères dans ma zone de saisie.
    Les caractères acceptés sont donc les entiers de 1 à 9 et -.

    J'aimerais cependant interdire la possibilité d'entrer le caractère - à une position autre que la première place.

    Par exemple :
    _ "12" OK
    _ "-12" OK
    _ "12-12" Not OK

    Merci de votre aide

  2. #2
    Membre éprouvé Avatar de laurentibus
    Inscrit en
    Mars 2008
    Messages
    875
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Mars 2008
    Messages : 875
    Points : 908
    Points
    908
    Par défaut
    si la taille de ton input est supérieure a 1, tu fais sur le onkeypress un test pour savoir si c'est pas le caractère "-" qui est entrée ....

    et après tu fais un alert ou tu gères comme tu le souhaites ....

    ok ??

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    96
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Mars 2008
    Messages : 96
    Points : 69
    Points
    69
    Par défaut
    Est-ce que tu peux me donner la méthode qui me donne le nombre de caractère présent de ma zone de saisie.

    Par contre, si l'utilisateur se déplace dans ma zone de saisie avec les fleches. Le test ne fonctionnera plus. (il pourra ajouter le caractère - n'importe où)

    Je suis donc obligé de passé par une analyse de ma zone après validation de mon formulaire. (En utilisant par exemple les epressions régulières). Et donc renvoyer une alert.

    J'aurais aimé analyser en direct et non après validation. Mais je ne pense pas que se soit possible simplement.

  4. #4
    Membre éprouvé Avatar de laurentibus
    Inscrit en
    Mars 2008
    Messages
    875
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Mars 2008
    Messages : 875
    Points : 908
    Points
    908
    Par défaut
    Est-ce que tu peux me donner la méthode qui me donne le nombre de caractère présent de ma zone de saisie.
    input.length;

    Par contre, si l'utilisateur se déplace dans ma zone de saisie avec les fleches. Le test ne fonctionnera plus. (il pourra ajouter le caractère - n'importe où)
    ben non car tu teste l'evenement onKeypress ou onchange , donc a chaque touche pressé ou changement tu vas lancer ta fonction dans laquelle tu vas tester la présence du caractère "-"

    J'aurais aimé analyser en direct et non après validation. Mais je ne pense pas que se soit possible simplement.
    sisi

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    96
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Mars 2008
    Messages : 96
    Points : 69
    Points
    69
    Par défaut
    j'utilise le code suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    function formatSaisie(input){
    		if(input.length>0){
    			if(event.keyCode < 48 || event.keyCode > 57){ 
    				event.returnValue = false;
    			}
    		}
    		else if((event.keyCode < 48 || event.keyCode > 57) && event.keyCode != 45 ){
    			event.returnValue = false;
    		}
    	}
    Simplement, l'insertion d'un caractère - en début de saisie après avoir déja saisie des chiffres ne fonctionne pas.

    Il faut vérifier la position du curseur en première place ainsi que la non présence du caractère - dans ma chaîne de caractère.

    Ceci complique nettement mon code.

    Nan?

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    96
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Mars 2008
    Messages : 96
    Points : 69
    Points
    69
    Par défaut
    Pour information, je travaille obligatoirement sur IE6

  7. #7
    Membre éprouvé Avatar de laurentibus
    Inscrit en
    Mars 2008
    Messages
    875
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Mars 2008
    Messages : 875
    Points : 908
    Points
    908
    Par défaut
    Simplement, l'insertion d'un caractère - en début de saisie après avoir déja saisie des chiffres ne fonctionne pas.
    oui car tu ne teste que la valeur du caractère taper .... il faut que lorsque l input a plusieurs caractere tu recupere la valeur de l input et teste la presence de "-" avec indexof() il me semble qui te retourne la position du cractere dans la chaine ...
    et donc la tu connaitra la position de ton "-" si y en a un et tu retournera la valeur que tu veux ....

    ps : rien de bien compliquer , environ 3 lignes ...

Discussions similaires

  1. limiter montant maximum saisi dans un input
    Par tib0 dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 01/03/2010, 05h27
  2. [CSS][IE]image dans input text
    Par lejert dans le forum Mise en page CSS
    Réponses: 6
    Dernier message: 23/05/2009, 01h31
  3. valeur par défaut dans input text
    Par gforce dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 11/10/2006, 14h31
  4. [MySQL] Copier/coller de 200 caractères dans input text malgré maxlenght à 15
    Par psychoBob dans le forum PHP & Base de données
    Réponses: 17
    Dernier message: 24/04/2006, 13h48
  5. Réponses: 6
    Dernier message: 14/02/2006, 20h53

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