Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   forum.boolean.name > Веб-программирование > Общее

Общее Веб-разработка в целом, идеи, проекты...

Ответ
 
Опции темы
Старый 27.10.2012, 22:08   #1
JeanWinters
Знающий
 
Регистрация: 22.12.2007
Сообщений: 223
Написано 22 полезных сообщений
(для 51 пользователей)
Как сделать маску для input-элемента

Пытаюсь сделать форму обратной связи. Создал элемент input type="text" , нужно сделать маску или фильтр для того, чтобы человек мог ввести только цифры или другие символы по маске... Как можно это реализовать?
(Offline)
 
Ответить с цитированием
Старый 27.10.2012, 23:02   #2
Randomize
[object Object]
 
Аватар для Randomize
 
Регистрация: 01.08.2008
Адрес: В России
Сообщений: 4,356
Написано 2,472 полезных сообщений
(для 6,854 пользователей)
Ответ: Как сделать маску для input-элемента

http://www.xaprb.com/html-input-mask...nput-mask.html
__________________
Retry, Abort, Ignore? █
Intel Core i7-9700 4.70 Ghz; 64Gb; Nvidia RTX 3070
AMD Ryzen 7 3800X 4.3Ghz; 64Gb; Nvidia 1070Ti
AMD Ryzen 7 1700X 3.4Ghz; 8Gb; AMD RX 570
AMD Athlon II 2.6Ghz; 8Gb; Nvidia GTX 750 Ti
(Offline)
 
Ответить с цитированием
Старый 28.10.2012, 21:17   #3
JeanWinters
Знающий
 
Регистрация: 22.12.2007
Сообщений: 223
Написано 22 полезных сообщений
(для 51 пользователей)
Ответ: Как сделать маску для input-элемента

Слишком много кода. А есть что-то "поменьше" ? Подскажите, пожалуйста, функцию перехвата набора с клавиатуры, чтобы пользователь мог вводить только цифры, а не другие символы...
(Offline)
 
Ответить с цитированием
Старый 28.10.2012, 21:51   #4
ABTOMAT
Ференька
 
Аватар для ABTOMAT
 
Регистрация: 26.01.2007
Адрес: улица Пушкина дом Колотушкина
Сообщений: 10,741
Написано 5,461 полезных сообщений
(для 15,675 пользователей)
Ответ: Как сделать маску для input-элемента

Вот очень короткий вариант на jQuery в 5 строчек:

https://github.com/RobinHerbots/jquery.inputmask
(Offline)
 
Ответить с цитированием
Старый 30.10.2012, 09:18   #5
Phantom
Элита
 
Аватар для Phantom
 
Регистрация: 14.06.2008
Адрес: Украина, Киев
Сообщений: 2,273
Написано 754 полезных сообщений
(для 1,833 пользователей)
Ответ: Как сделать маску для input-элемента

JeanWinters, перехвата нажатий клавиш недостаточно, можно же ещё ПКМ -> Вставить, например. Бери одно из уже обкатанных предложенных решений и не парься.
(Offline)
 
Ответить с цитированием
Старый 01.11.2012, 19:43   #6
JeanWinters
Знающий
 
Регистрация: 22.12.2007
Сообщений: 223
Написано 22 полезных сообщений
(для 51 пользователей)
Ответ: Как сделать маску для input-элемента

Слишком громоздко получится. Есть ограничения различные, поэтому и хотелось что-то небольшого размера без jquerry и т.д.
(Offline)
 
Ответить с цитированием
Старый 02.11.2012, 00:27   #7
ABTOMAT
Ференька
 
Аватар для ABTOMAT
 
Регистрация: 26.01.2007
Адрес: улица Пушкина дом Колотушкина
Сообщений: 10,741
Написано 5,461 полезных сообщений
(для 15,675 пользователей)
Ответ: Как сделать маску для input-элемента

Сообщение от JeanWinters Посмотреть сообщение
Слишком громоздко получится. Есть ограничения различные, поэтому и хотелось что-то небольшого размера без jquerry и т.д.
Ты из клана Искателей Приключений?
Чем тебе jQuery не угодил? Он как раз и создан чтоб было "просто". Упрощает операции и убирает различия между браузерами там где возможно. Благодаря этому можно решить задачу просто, пользуясь такой платформой.
Или можешь писать на "чистом" JS и тогда придётся "сложно".

Насколько я понял, у тебя мало знаний в JS, но зато ты уже где-то узнал, что jQuery, Prototype и вообще большие скрипты — это плохо. Бабки на скамейке сказали, не иначе. У них же рекомендую спросить решение для твоей задачи, ведь наши советы тебе не нравятся.

Т.е. с одной стороны ты искатель готовых решений, но с другой тебе не нравятся библиотеки (которые суть — сборка готовых решений). Пиши тогда собственное решение, да, на onchange вешай и добро пожаловать в зоопарк браузеров. Эта проблема решена в библиотеках, но ведь они, по твоему мнению, слишком нагружают сайт и надо самому париться. Потом расскажешь, понравилось ли.
(Offline)
 
Ответить с цитированием
Эти 2 пользователя(ей) сказали Спасибо ABTOMAT за это полезное сообщение:
moka (02.11.2012), Randomize (03.11.2012)
Старый 02.11.2012, 05:25   #8
YellowAfterlife
ПроЭктировщик
 
Аватар для YellowAfterlife
 
Регистрация: 19.02.2011
Сообщений: 134
Написано 81 полезных сообщений
(для 219 пользователей)
Ответ: Как сделать маску для input-элемента

Минималистично волшебный JS подход:
var field = /* ваше текстовое поле*/,
rx = new RegExp('[^A-Za-z0-9_]'), // регулярное выражение для фильтрации
ff = function() { // функция "фильтрации"
    var s = field.value;
    while (s.match(rx)) s = s.replace(rx, '');
    // для наилучшего эффекта, тут еще нужно вставить обработку выделения в поле
    if (field.value != s) field.value = s;
};
field.oninput = function(e) {
ff(); // запуск фильтрации
setTimeout(ff, 0); // на случай, если это почему-то не сработало, запускаем еще раз на следующем кадре.
}
__________________

Мой сайт-блог. Игры, обновления, примеры для Haxe, JavaScript(+HTML5), GameMaker, Love2d...
(Offline)
 
Ответить с цитированием
Старый 02.11.2012, 05:33   #9
moka
.
 
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений
(для 6,863 пользователей)
Ответ: Как сделать маску для input-элемента

Бери jQuery решения и не парься, что за "религия"?
Иначе реализуй сам, можешь использовать регулярные выражения для фильтрации, можешь завезти массив символов - тут проблема с поддержкой языков и т.п. С регулярными это проще обойти.
Далее тебе нужно нацеплять кучу событий на нажатия кликов и изменение данных самого поля. Также на субмит формы.
И самое главное на стороне сервера делать повторно все проверки, т.к. доверять клиенту никогда нельзя, я например смогу инспектором твой скрипт отредактировать и любые данные в формы вставить, инъекции и т.п. игнорируя твою фильтрацию.

На стороне сервера - это самое важное. Если юзер что-то делает не по правилам и получает по этому по носу - ещё одно дело, а если ты получишь от всех этих хитрых юзверей по носу - тут тебе мало не покажется.

Поэтому выход один - учись программировать. Не бывает 100% готовых решений, нету ничего с полки подходящего, и хватить бл**ть баловать всяких директоров и менеджеров этой иллюзией "готовенького" и "OpenSource" они ваще в коде не понимают нихера.
Учись программировать САМ.
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

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

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Часовой пояс GMT +4, время: 14:32.


vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com