2017-10-17 3 views
0

La propriété max ne fonctionne pas si je mets un nombre sur le terrain. Pourquoi? cela fonctionne seulement quand je change la valeur avec les flèches.La valeur maximale du champ d'entrée Html est

JS Fiddle

HTML

<input id= "0" class='labelmax form-control' 
type='number' name='max_label' min='0' max='99' value='1'> 
+2

Lorsque vous mettez cela dans une forme, il ne sera pas si vous avez tapé soumettre à une valeur en dehors des valeurs min et max. –

+0

voir votre ja fiddle j'ai édité: il fonctionne sur soumettre ittl donner erreur id plus de 99: https://jsfiddle.net/usdc3359/2/ –

Répondre

1

Avec HTML5 max et min, vous ne pouvez limiter les valeurs à entrer dans les chiffres. Mais vous devez utiliser JavaScript ou jQuery pour faire ce genre de changement. Une idée que j'ai est en utilisant des attributs de données et enregistrer l'ancienne valeur:

$(function() { 
    $("input").keydown(function() { 
    // Save old value. 
    $(this).data("old", $(this).val()); 
    }); 
    $("input").keyup(function() { 
    // Check correct, else revert back to old value. 
    if (parseInt($(this).val()) <= 99 && parseInt($(this).val()) >= 0) 
     ; 
    else 
     $(this).val($(this).data("old")); 
    }); 
}); 
+0

bonne approche avec votre script –

0

Pour ce travail que vous avez automatiquement pour envelopper votre entrée dans un formulaire et ajouter un bouton soumettre à cette forme

Si vous ne ne voulez pas l'emballer dans un formulaire et que vous souhaitiez une personnalisation maximale, vous devrez utiliser Javascript et configurer un gestionnaire d'événements qui écoutera l'entrée de l'utilisateur et agira en conséquence

0

Vous pouvez utiliser quelque chose comme ci-dessous en utilisant JavaScript simple . Dans votre code, je ne vois pas de JS.

document.getElementsByClassName('labelmax form-control')[0].oninput = function() { 
 
     var max = parseInt(this.max); 
 

 
     if (parseInt(this.value) > max) { 
 
      this.value = max; 
 
     } 
 
    }
<input id= "0" class='labelmax form-control' type='number' name='max_label' max='99' value='1'/>

+0

Je suis encore en mesure de taper des nombres inférieurs à 0, cependant. Vous devriez inclure la vérification de la valeur min aussi. –