Controler la saisie d'un input

Signaler
Messages postés
35
Date d'inscription
vendredi 3 janvier 2003
Statut
Membre
Dernière intervention
22 avril 2009
-
Messages postés
4933
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
-
Bonjour,

Je voudrai savoir si il est possible de contrôler la saisie d'un "input" pour que la valeur soit une valeur numérique comprise entre 0.50 et 100. L'utilisateur ne pourrait saisir que des valeurs numérique (décimale ou pas) dans cette fourchette avec une saisie limité à 2 chiffres après la virgule.

J'ai trouver pas mal de fonction pour contrôler la saisie mais je n'arrive pas à mettre toutes ces limites dans une seul fonction.

Merci d'avance.

3 réponses

Messages postés
262
Date d'inscription
vendredi 6 mai 2005
Statut
Membre
Dernière intervention
19 septembre 2014

<script>
   var moninput=document.getElementById('moninput');
   moninput.onblur=function(){
      //this référence ton input
      // si  est pas un nombre et kil est  compris entre 0.5 e 100
      if(!isNaN(this.value) && this.value>=0.5 && this.value<=100){
         alert('ok pour '+this.value);//fait ton truc :)
      }else errorInput();//sinon applique le msg d ereur
   }
   function errorInput(){
      alert('érreur !!!!')//on reinitialise et on redonne le focus
     
      moninput.focus();
      moninput.value='';
   
   }
</script>
tu aurais pu aussi mettre la référence de ta fonction en dans l'attribut de ton élément et aussi
 faire un onchange , sur t'as balise pour controllé la saisie lettre par lettre  mais bon ça devrait te suffire ... bye
Messages postés
35
Date d'inscription
vendredi 3 janvier 2003
Statut
Membre
Dernière intervention
22 avril 2009

Merci Kimjoa pour ta réponse cela fonctionne mais il me reste ce paramètre qui limiterait les nombres décimales à deux chiffres après la virgule.
Je n'ai rien trouvé a ce sujet sur le forum ou alors je n'ai pas recherché avec les bon termes.
Messages postés
4933
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
11
Bonjour,
>>limiterait les nombres décimales à deux chiffres après la virgule
nombreuses approches possibles !
_ arrondir la valeur à 2 décimales ( toFixed ) et comparer si l'original est =
_ split sur le séparateur et tester la taille du poste[1]
_ indexof sur le séparateur et tester par rapport aux nombres de caractères
... c'est tout ce qui me vient... sur le coup, doit y en avoir d'autres,
   probablement au moins aussi simple, voire plus
Cordialement [mon Site] [M'écrire] Bul