我有type=number输入字段,并为其设置了min和max值:
<input type="number" min="0" max="23" value="14">当我使用输入栏右侧的小箭头更改渲染UI中的时间时,一切都正常工作-我既不能高于23也不能低于0。但是,当我手动(使用键盘)输入数字时,这两个限制都不起作用。
有没有办法防止任何人输入他们想要的数字?
发布于 2015-10-05 01:47:30
使用HTML5 max和min时,只能将值限制为输入数字。但是您需要使用JavaScript或jQuery来进行这种更改。我的一个想法是使用data-属性并保存旧值:
$(function () {
$("input").keydown(function () {
// Save old value.
if (!$(this).val() || (parseInt($(this).val()) <= 11 && parseInt($(this).val()) >= 0))
$(this).data("old", $(this).val());
});
$("input").keyup(function () {
// Check correct, else revert back to old value.
if (!$(this).val() || (parseInt($(this).val()) <= 11 && parseInt($(this).val()) >= 0))
;
else
$(this).val($(this).data("old"));
});
});<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<input type="number" min="0" max="23" value="14" />
发布于 2015-10-05 01:52:01
也许你可以使用"range“类型,而不是" number”类型,因为它使用了一个滑动条,如果你想配置它来显示当前的数字,只要使用JavaScript就可以了
发布于 2017-04-13 00:22:22
在某些情况下,可以使用pattern代替min和max。它可以与required一起正常工作。
https://stackoverflow.com/questions/32936352
复制相似问题