![]() |
Модераторы: Sardar, Aliance |
![]() ![]() ![]() |
|
ksnk |
|
|||
![]() прохожий ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 6855 Регистрация: 13.4.2007 Где: СПб Репутация: 2 Всего: 386 |
Пожелание. Выкладывайте, pls, работоспособный HTML, который может продемонстрировать работу скрипта. Заставлять народ напрягаться и генерировать нетривиальный тестовый стенд - нечеловеколюбиво ;) Вот, вредный Я придумал такой пример
![]()
Из багов, которые бросились в глаза.
![]() -------------------- Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! ![]() |
|||
|
||||
Alex_B |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 122 Регистрация: 24.4.2007 Репутация: 1 Всего: 1 |
О! про дел я вообще забыл... |
|||
|
||||
ksnk |
|
|||
![]() прохожий ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 6855 Регистрация: 13.4.2007 Где: СПб Репутация: 2 Всего: 386 |
Вообще, кажется, что отдельно такая фенечка не очень интересна. Ее нужно собирать в комплекте с каким-нибудь ToolTip'ом, чтобы демонстрировать ошибки ввода не калеча дизайн...
-------------------- Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! ![]() |
|||
|
||||
Alex_B |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 122 Регистрация: 24.4.2007 Репутация: 1 Всего: 1 |
Совершенно согласен. ToolTip отложил до лучших времен. Функция вывода подскаски вынесена отдельно её будет легко заменить. Я тут подумал вот о чем: насколько необходимо эранирование? Слишком ного оно геморая вызывает. Может вообще от него отказаться? Зарезервировать несколько символов как специальные. И тогда все будет очень просто - никаких ведений историй, никаких массивов, проблем со стиранием backspace и del. Останется только ToolTip прикрутить да пару тройку правил добави И тогда вопрос: Какие правила нужны? (может их будет порядка пяти, тогда я думаю можно будет найти зянять несколько символов как специаяльные без потери функциональности) Пока вижу 4 правила: -только цифра -только буква -только русская буква -верхний регистр, возможен автоматический перевод в вверхний регистр. (например для первой буквы в поле для ввода фамилии) Это сообщение отредактировал(а) Alex_B - 4.5.2007, 20:55 |
|||
|
||||
AKS |
|
|||
Участник форума ![]() ![]() Профиль Группа: Участник Сообщений: 725 Регистрация: 20.9.2006 Репутация: 2 Всего: 52 |
Alex_B, у меня нет, к сожалению, ответов на ваши концептуальные вопросы, но вот по коду кое-что есть. Вы так и оставили функцию check внутренней по отношению operatedInput. А ведь возможно же, что кому-то захочется вызвать operatedInput несколько раз для разных текстовых полей? Если такое произойдет - при каждом вызове будет создаваться новая функция check (своя, так сказать, для каждого поля). А зачем?
|
|||
|
||||
Alex_B |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 122 Регистрация: 24.4.2007 Репутация: 1 Всего: 1 |
AKS, спасибо!
|
|||
|
||||
ksnk |
|
|||
![]() прохожий ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 6855 Регистрация: 13.4.2007 Где: СПб Репутация: 2 Всего: 386 |
Не знаю, насколько это будет интересно, но вот кусочек документации из довольно прилично развитой системы "шаблонного" ввода. Тут только placeholder'ы для цифр...
Еще не страшно? ![]() -------------------- Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! ![]() |
|||
|
||||
Alex_B |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 122 Регистрация: 24.4.2007 Репутация: 1 Всего: 1 |
ksnk, такая документация и уменя самого есть.
![]() Вопрос в том, что конкретно может понадобиться для веба? (вводить телефон, номер паспорта, ФИО - для этого вполне хватит и 4-х правил, которые написаны выше) |
|||
|
||||
ksnk |
|
|||
![]() прохожий ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 6855 Регистрация: 13.4.2007 Где: СПб Репутация: 2 Всего: 386 |
Alex_B, Для веба может понадобится все... Деньги, числа (вещественные, в том числе; в разной локали, о ужас!!!), даты ...
Впрочем - делать сразу "на все" - не разумно... Нужно обеспечить достаточно гибкую расширяемость, имея ввиду потенции "больших" систем, и сделать маленькое подмножество, нужное конкретно сейчас. Некоторые данные могут бросаться copy-paste'ом, так что гарантировать корректность ввода "побуквенно" - не выйдет. -------------------- Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! ![]() |
|||
|
||||
Alex_B |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 122 Регистрация: 24.4.2007 Репутация: 1 Всего: 1 |
ksnk, да... проблема..
Я сейчас попробовал как это сделано у Borland, там если copy-paste'ом встявлять подходящие символы, они вставляются. Если не подходящие, то курсор ввода сдвигается на число вводимых символов но на их местах остаются пробелы. Как вариант, можно вообще запретить copy-paste. Это сообщение отредактировал(а) Alex_B - 5.5.2007, 20:21 |
|||
|
||||
AKS |
|
|||
Участник форума ![]() ![]() Профиль Группа: Участник Сообщений: 725 Регистрация: 20.9.2006 Репутация: 2 Всего: 52 |
||||
|
||||
ksnk |
|
|||
![]() прохожий ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 6855 Регистрация: 13.4.2007 Где: СПб Репутация: 2 Всего: 386 |
AKS, можете предложить вариант регескпа, который с одной строны не был бы велик и ужасен по размеру. а с другой стороны обеспечиват проверку валидности как всей строк , так и "выкусывание" валидных частей...
![]() Вряд ли для этого подойдет Regexp. Скорее всего придется городить свой парсер, как вот здесь. -------------------- Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! ![]() |
|||
|
||||
AKS |
|
|||
Участник форума ![]() ![]() Профиль Группа: Участник Сообщений: 725 Регистрация: 20.9.2006 Репутация: 2 Всего: 52 |
||||
|
||||
Alex_B |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 122 Регистрация: 24.4.2007 Репутация: 1 Всего: 1 |
operatedInput v0.2.3
(для тестирования) Изменения: (по сравнению с operatedInput v0.2.1) Добавлена функция searchMaskShant поиска позиции курсора в маске по количеству символов в поле ввода. Значит проблема удаления символов клавишей Backspace решена. В связи с этим больше нет ведения историй и двух массивов. Кода стало меньше, логика упростилась По замечанию ksnk, что система должна быть гибкой и легко расширяемой, экранирование сохранено. ToDo List Необходимо вынести функцию check из функции operatedInput (рекомендация AKS). Решить вопрос стирания клавишей del, ровно, как и ввод символа не в конец строки в поле ввода. Для этого необходимо узнать местоположение курсора в поле ввода и передать его функции searchMaskShant. Это сообщение отредактировал(а) Alex_B - 6.5.2007, 13:57 Присоединённый файл ( Кол-во скачиваний: 13 ) ![]() |
|||
|
||||
ksnk |
|
|||
![]() прохожий ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 6855 Регистрация: 13.4.2007 Где: СПб Репутация: 2 Всего: 386 |
Не вдаваясь сильно в логику приложения, переписал, действительно учитывая пожелания звучавшие в этой ветке
![]() Это сообщение отредактировал(а) ksnk - 6.5.2007, 18:39 Присоединённый файл ( Кол-во скачиваний: 34 ) ![]() -------------------- Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! ![]() |
|||
|
||||
![]() ![]() ![]() |
Здесь публикуют скрипты, которые уже проверены в обсуждениях других тем (при этом полезно поставить ссылки на все смежные обсуждения) или переносятся кем-либо из модераторов по просьбе участников, если видно, что в результате обсуждения темы был написан полезный или интересный скрипт. Третий возможный вариант - участник форума публикует скрипт, заведомо известный как полезный и эффективный, для, возможно, небольшой доработки и обсуждения. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | JavaScript: Наши скрипты | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |