Disable writing in input type number HTML5

Sou*_*uad 10 html5

I want to disable writing into a field of type number, for avoiding strings data, and write just numbers, so how to enable scroll bars only ?

<form>
 <input type="number"  path="note" min="1" max="20"/>
</form>
Run Code Online (Sandbox Code Playgroud)

Ilu*_*Ilu 25

如果你能够/允许使用jQuery,你可以禁用keypresstype='number'.

$("[type='number']").keypress(function (evt) {
    evt.preventDefault();
});
Run Code Online (Sandbox Code Playgroud)

这允许您在输入上使用向上和向下箭头,但不允许键盘输入.

  • 也许自 13 年以来发生了一些变化,现在按键对删除和退格键不起作用,这将使所有用户删除值,我使用了涵盖所有内容的 keydown (2认同)

vip*_*ron 5

如果我理解正确的话,我只是使用普通的 Javascript(没有 jQuery)自己实现了同样的事情。

window.onload = () => {
  //add event listener to prevent the default behavior
  const mouseOnlyNumberInputField = document.getElementById("mouse-only-number-input");
  mouseOnlyNumberInputField.addEventListener("keypress", (event) => {
    event.preventDefault();
  });
}
Run Code Online (Sandbox Code Playgroud)
<form>
  <input id="mouse-only-number-input" name="number" type="number" min="1" max="20" value="10" />
</form>
Run Code Online (Sandbox Code Playgroud)


小智 5

您可以使用此取消K​​eyDown事件

<input type="number" onKeyDown="return false">