Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 23.12.2014, 16:54
Новичок на форуме
Отправить личное сообщение для Sleek Посмотреть профиль Найти все сообщения от Sleek
 
Регистрация: 23.12.2014
Сообщений: 4

Нужна помощь по 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'));
  }
});
Ответить с цитированием
  #2 (permalink)  
Старый 23.12.2014, 17:32
Новичок на форуме
Отправить личное сообщение для Sleek Посмотреть профиль Найти все сообщения от Sleek
 
Регистрация: 23.12.2014
Сообщений: 4

В дополнение к 1 вопросу хочу добавить. При нажатии на кнопку в корзину, открывается модальное окно, которое имеет форму "Возможно это вас заинтересует", в которой тоже несколько товаров, но на них этот код почему-то не распространяется...Как реализовать live event?
Ответить с цитированием
  #3 (permalink)  
Старый 23.12.2014, 17:37
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

А че эт ты делаешь. Почему по каждому клику на странице ты вешаешь новый обработчик keypress? Плодишь то есть.
Сообщение от Sleek
if($(this).val())
Добавь отрицание тут.
Сообщение от Sleek
/[0-9\x25\x27\x24\x23]/
В input[type=number] не может быть ничего кроме чисел и десятичного разделителя. Всякие проценты и решетки браузер не пропустит. Да и нафиг оно тебе нужно в инпуте?
__________________
В личку только с интересными предложениями
Ответить с цитированием
  #4 (permalink)  
Старый 23.12.2014, 17:38
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

live:
$(document).on ('blur', 'input[type="number"]', ...)
Т.е. делегируем предку вездесущному обработку сего события.
__________________
В личку только с интересными предложениями
Ответить с цитированием
  #5 (permalink)  
Старый 23.12.2014, 18:01
Новичок на форуме
Отправить личное сообщение для Sleek Посмотреть профиль Найти все сообщения от Sleek
 
Регистрация: 23.12.2014
Сообщений: 4

Я себе уже этими понятиями и обработчиками всю голову сломал. Можете кто-нибудь дать готовый вариант, с которым можно работать? Потому, что у меня уже все в кашу уже сбилось...
Ответить с цитированием
  #6 (permalink)  
Старый 24.12.2014, 12:39
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

Sleek,
А вообще без скриптов разве input[type="number"] не выполняет требуемое ?
Если его не меняют, он сразу и стоит на минимуме, нун ток вставить начальное value="xx" = min
<input type="number" step=5 min="25" value="25">

Последний раз редактировалось Deff, 24.12.2014 в 12:57.
Ответить с цитированием
  #7 (permalink)  
Старый 24.12.2014, 13:37
Новичок на форуме
Отправить личное сообщение для Sleek Посмотреть профиль Найти все сообщения от Sleek
 
Регистрация: 23.12.2014
Сообщений: 4

Сообщение от Deff Посмотреть сообщение
Sleek,
А вообще без скриптов разве input[type="number"] не выполняет требуемое ?
Если его не меняют, он сразу и стоит на минимуме, нун ток вставить начальное value="xx" = min
<input type="number" step=5 min="25" value="25">
Прикол в том, чтобы там стоял запрет на ввод других символов, кроме цифр - это раз. А второе - это нужно чтобы, если человек оставляет пустое значение в инпуте, когда выбирает товар, нужно чтобы там выставляется минимальное значение. Без скриптов тут никак...
Ответить с цитированием
  #8 (permalink)  
Старый 24.12.2014, 13:47
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

Sleek, Ну тады:
<input id="inputScale" type="range" min="25" max="100" step="12.5" value="25" >

Ответить с цитированием
  #9 (permalink)  
Старый 24.12.2014, 13:50
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Сообщение от Sleek
дать готовый вариант
За готовым в раздел "Работа" обращайся.
Сообщение от Sleek
если человек оставляет пустое значение в инпуте
Так ты пропиши атрибут value с нужным значением. Но скрипт все равно нужен, на случай если юзер сотрет значение.
__________________
В личку только с интересными предложениями
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Нужна помощь с input Tedrik Элементы интерфейса 10 16.04.2014 23:52
Нужна помощь по javascript darklend Общие вопросы Javascript 0 12.01.2014 23:33
Нужна помощь по слайдеру seoguru Работа 3 28.01.2013 22:02
При добавлении DOCTYPE "плывут" размеры input type=text Demath (X)HTML/CSS 4 08.07.2012 19:27
нужна помощь dominosoko Серверные языки и технологии 4 14.03.2010 02:17