Html输入字段设置最大值

时间:2017-10-17 14:21:36

标签: javascript html input

如果我在字段中输入数字,则max属性不起作用。为什么? 它仅在我用箭头改变值时才有效。

JS Fiddle

HTML

trait A {
  type T
  def test(t: T): Unit
}

case class B[S <: A](a: S)(t : a.T) {
  def test() = a.test(t)
}

3 个答案:

答案 0 :(得分:1)

使用HTML5 max和min,您只能限制值以输入数字。但是你需要使用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"));
  });
});

答案 1 :(得分:0)

为了自动工作,您必须在表单中包装输入并向该表单添加提交按钮

如果您不希望将其包装在表单中并希望进行最大程度的自定义,则必须使用Javascript并设置一个事件处理程序来监听用户输入并采取相应措施

答案 2 :(得分:0)

您可以使用简单的JavaScript来使用类似下面的内容。在你的代码中,我没有看到任何JS。

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

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