2017-10-17 9 views
0

フィールドに数値を入力するとmaxプロパティが機能しません。どうして? これは、矢印で値を変更した場合にのみ機能します。 HTML5最大値と最小値とHtml入力フィールドの最大値を設定

JS Fiddle

HTML

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

フォームでこれを置くとき、あなたが最小値と最大値の外の値で入力した場合、それは提出しないであろう。 –

+0

私は編集したあなたのjaを参照してください私は編集しました:ittlを送信するとエラーIDを99より多く与える:https://jsfiddle.net/usdc3359/2/ –

答えて

1

、あなただけの数字を入力する値を制限することができます。しかし、このような変更を行うには、JavaScriptまたはjQueryを使用する必要があります。私が持っている一つのアイデアは、データ - 属性を使用して、以前の値保存されています。あなたがフォーム内で、あなたの入力をラップし、あなたドン場合はそのフォームに

を送信ボタンを追加する必要があり、それは自動的に動作するために

$(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

あなたのスクリプトで良いアプローチ –

0

をそれをフォームにラップして、最大限のカスタマイズをしたい場合は、JavaScriptを使用して、ユーザーの入力を受け取り、それに応じて動作するイベントハンドラを設定する必要があります。

0

シンプルなJavaScript 。あなたのコードでは、私はどんな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

私はまだしかし、0。最小値をチェックすることも含める必要があります。 –

関連する問題