Ограничение максимального числа ввода
Добрый день.
К сожалению не очень разбираюсь в JS, если точнее вообще два скрипта сделал за всю жизнь в связи с чем прошу помощи. Как ограничить числа ввода(максимально и минимальное) в поле input ? Параметры max, min в теге <input> не работают так как нужно, а появляются какие то стрелочки у поля, которые не дают ввести число выходящее за пределы диапазона(если вводить число стрелками вверх вниз), но просто с клавиатуры можно ввести любое число( К сожалению не смог ничего найти поиском. Заранее спасибо. |
<input type="text" size=16 class="num_only" value="15" onkeyup="this.value=this.value.replace(/[^0-9]+/g,''); isright(this);">
function isright(obj)
{
if (obj.value>25) obj.value=25;
if (obj.value<1) obj.value=1;
}
Вот так попробуйте. |
Спасибо большое все работает
|
|
bot87, ему другое нужно было.
|
А у меня такой вопрос будет, а если мне не с 1 нужно а с 60 допустим и до 100?
Делаю так function isright(obj) { if (obj.value>100) obj.value=100; if (obj.value<60) obj.value=60; } <input type="text" size=16 class="num_only" value="70" onkeyup="this.value=this.value.replace(/[^0-9]+/g,''); isright(this);"> И что то не так... |
<input type="number" min="60" max="100" value="60" /> |
Цитата:
Запросто могу ввести числа ниже 60 или больше 100 А нет, работает, это же HTML5, это все хорошо, но в данном примере можно вручную ввести в поле не нужное число. |
Енот,
<script>
function isright(obj)
{
var value= +obj.value.replace(/\D/g,'')||0;
if (value>100) value=100;
if (value<60) value=60;
obj.value = value
}
</script>
<input type="text" size=16 class="num_only" value="70" onblur="isright(this);" >
|
Одно другому не мешает ;)
<script>
function isright(obj)
{
var value= +obj.value.replace(/\D/g,'')||0;
var min = +obj.getAttribute('min');
var max = +obj.getAttribute('max');
obj.value = Math.min(max, Math.max(min, value));
}
</script>
<input type="number" value="70" min="60" max="100" class="num_only" value="70" onchange="isright(this);" >
|
| Часовой пояс GMT +3, время: 19:17. |