Я пытался установить входной номер (html) только на положительные числа и нашел это прекрасное решение:
<input type = "number" name = "test_name" min = "0" oninput = "validity.valid||
(value='');">
Может кто подскажет, как работает oninput = "validity.valid || (значение = '');? Как ограничить ввод только положительными числами.
Спасибо!



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Это событие отправляется, когда пользователь вводит текст в поле ввода.
Это событие вызывается только тогда, когда отображаемый текст изменится, поэтому оно не вызывается, когда пользователь нажимает неотображаемые клавиши.
Итак, что нужно, - это проверить свойство validity.valid, чтобы выполнить проверку.
могу я вас спросить ?. Где вы такое видите? @Хуан Пабло
Я видел это в этом посте ссылка на сайт
min = "0" принимает только числа больше нуля. Поэтому, когда пользователь вводит значение (oninput), либо оно действительное (validity.valid), либо (||), значение заменяется пустой строкой (value='').
Редактировать:
validity.valid является ложным из-за min = "0", поскольку мы можем видеть в документе в свойстве диапазон:
"if the value is less than the minimum specified by the min attribute".
Итак, validity.valid как-то связан с ограничением min=0?
Да, как мы можем видеть здесь в диапазон, ValidityState является ложным, «если значение меньше минимума, указанного атрибутом min».
О, теперь я понимаю. Большое спасибо, брат, ты мне очень помог.
Полное руководство здесь: developer.mozilla.org/en-US/docs/Web/Guide/HTML/HTML5/…