如果超出范围,则将 input type="number" 限制为其最小值或最大值

新手上路,请多包涵

我有以下代码

<form:input type="number" min="1" max="4" size="5" value="1" path="n" name='n' placeholder="<5" style="height:25px;width:60px"></form:input>

如果用户在文本框中输入超出范围的值,则应将其重置为最接近的最小值或最大值,例如,如果用户在文本框中输入的值小于 1,则应将其重置为 1,如果输入大于 4,则应重置为 1它应该重置为 4。

如果我们有任何其他标签而不是使用输入标签来限制,请告知

已经有一个不适合我的解决方案

原文由 Joshi 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1.7k
2 个回答

实际上,如果输入的数字不在范围内,input type=number 只会处理并且不允许用户提交表单

原文由 Joshi 发布,翻译遵循 CC BY-SA 3.0 许可协议

这个解决方案可能就是你所追求的: jquery: set min max input in option type number

 $(function () {
    $( "input" ).change(function() {
        var max = parseInt($(this).attr('max'));
        var min = parseInt($(this).attr('min'));
        if ($(this).val() > max)
        {
            $(this).val(max);
        }
        else if ($(this).val() < min)
        {
            $(this).val(min);
        }
    });
});

@Caspian 还提供了一个工作小提琴:http: //jsfiddle.net/Ddk67/75/

原文由 Aaron Lavers 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题