Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Ввод числа в input ограничения или показ текста о большой цифре (https://javascript.ru/forum/misc/46789-vvod-chisla-v-input-ogranicheniya-ili-pokaz-teksta-o-bolshojj-cifre.html)

Vlad123456 24.04.2014 11:54

Ввод числа в input ограничения или показ текста о большой цифре
 
Ребята, как сделать чтобы в input можно ввести не больше чем в диве

<div id="count">44</div


Хотел вот этим методом - http://htmlbook.ru/html/attr/onkeyup
Но не знаю как сделать

Помогите пожалуйста))

danik.js 24.04.2014 14:28

<input maxlength="3" value="abc" autofocus="" />

Vlad123456 24.04.2014 14:44

danik.js,
Нет это не то, нужно чтобы я смог ввести 44, 43... А 50 не смог, выдавалась бы ошибка как в моем примере (мол вы ввели слишком большое число!!!)

danik.js 24.04.2014 15:45

<form target="_blank">
<input type="number" max="44" />
<button type="submit">Попытаться отправить</button>
</form>

Правда с кроссбраузерностью беда.

рони 24.04.2014 16:12

Vlad123456,
:-?
<input   oninput="+this.value > 44 && (this.value = 44)" />

Vlad123456 24.04.2014 16:24

danik.js,
Отлично, то что нужно, но как сделать чтобы бралась цифра из дива?

Vlad123456 24.04.2014 17:40

Не всегда будет цифра 44

danik.js 24.04.2014 18:00

Vlad123456, что мешает выводить эту цифру помимо дива еще и в атрибут инпута?

Vlad123456 24.04.2014 18:23

danik.js,
Ваш вариант меня устраивает, но цифра максимума может меняться! Точнее ее нужно брать из дива!!!

danik.js 24.04.2014 18:38

Цитата:

Сообщение от Vlad123456
Точнее ее нужно брать из дива!!!

Откуда она там появляется?

Vlad123456 24.04.2014 18:44

На этот див стоит счетчик, часовой

danik.js 24.04.2014 21:01

Цитата:

Сообщение от Vlad123456
На этот див стоит счетчик, часовой

В функции, где счетчик меняет значение дива, добавь строку кода, которая также обновит атрибут инпута.

devote 28.04.2014 13:34

<script type="text/javascript" src="http://devote.github.io/files/letjs/let.js"></script>
<script type="text/javascript">
  letJS.setHandler("data-let-pattern", function(rules) {
    var elem = document.querySelector(rules.rule);
    var value = elem && +(elem.value || elem.textContent || elem.innerHTML);
    return !elem || +rules.expectedValue <= value;
  });
</script>

<div id="count">44</div>
<input type="text" data-let-pattern="#count" />

<br/><button onclick="var a = +prompt('Введи число'); document.querySelector('#count').innerHTML=a;">Изменить паттерн</button>


Часовой пояс GMT +3, время: 22:42.