Нужна помощь по input type="number"
Ребят приветствую. Начиная свое изучение в JS сразу столкнулся с такой проблемой. Имеется код, запрещающий ввод любых символов, кроме цифр. Также надо сделать так, чтобы нельзя было оставлять поле пустым, у меня получилось сделать так, но он при любом значении, заменяет атрибут на min="1". А мне нужно чтобы такое выдавало только при пустом значении. Помогите разобраться в коде :)
$(document).on ("click", function(){ $('input[type="number"]').keypress(function( b ){ var C = /[0-9\x25\x27\x24\x23]/; var a = b.which; var c = String.fromCharCode(a); return !!(a==0||a==8||a==9||a==13||c.match(C)); }); }); $('input[type="number"]').on ('blur',function(){ if($(this).val()){ $(this).val($(this).attr('min')); } }); |
В дополнение к 1 вопросу хочу добавить. При нажатии на кнопку в корзину, открывается модальное окно, которое имеет форму "Возможно это вас заинтересует", в которой тоже несколько товаров, но на них этот код почему-то не распространяется...Как реализовать live event?
|
А че эт ты делаешь. Почему по каждому клику на странице ты вешаешь новый обработчик keypress? Плодишь то есть.
Цитата:
Цитата:
|
live:
$(document).on ('blur', 'input[type="number"]', ...) Т.е. делегируем предку вездесущному обработку сего события. |
Я себе уже этими понятиями и обработчиками всю голову сломал. Можете кто-нибудь дать готовый вариант, с которым можно работать? Потому, что у меня уже все в кашу уже сбилось...
|
Sleek,
:) А вообще без скриптов разве input[type="number"] не выполняет требуемое ? Если его не меняют, он сразу и стоит на минимуме, нун ток вставить начальное value="xx" = min <input type="number" step=5 min="25" value="25"> |
Цитата:
|
Sleek, Ну тады:
<input id="inputScale" type="range" min="25" max="100" step="12.5" value="25" > :) |
Цитата:
Цитата:
|
Часовой пояс GMT +3, время: 18:49. |