|
супермизантроп
3941 / 2979 / 692
Регистрация: 18.04.2012
Сообщений: 8,629
|
|
Нужен совет по юзабилити текстового редактора25.12.2017, 08:35. Показов 701. Ответов 14
Метки нет (Все метки)
поставлена задача создать текстовое поле, в которое можно будет вводить только определённые символы, например, только цифры, а при попытке ввести что-то другое, например, букву, точку или пробел, программа должна:
1) сообщить юзеру, что он попытался ввести конкретный недопустимый символ (-ы) 2) удалить этот недопустимый символ (-ы) * отследить ввод символов и проверить их на "допустимость" -- задача тривиальная, заключающаяся в обработке события oninput (вводить же можно не только с клавиатуры, но и способом "копи-пасте") * удалить недопустимые символы -- тоже не проблема, метод replace () с этим легко справится * но вот как оформить "сообщение юзеру" о том, что он пытался ввести эти самые конкретные недопустимые символы, ума не приложу -- юзер же может выделить часть уже введённого текста и заменить эту часть на находящуюся в буфере любой длины последовательность любых символов (в т.ч. и большое количество недопустимых, как идущих подряд, так и "вразнобой"). есть идеи, как это оформить "красиво"?
0
|
|
| 25.12.2017, 08:35 | |
|
Ответы с готовыми решениями:
14
Создание простого текстового редактора Переработка текстового редактора на JQUERY? Нужен исходник текстового редактора |
|
566 / 465 / 183
Регистрация: 14.10.2017
Сообщений: 1,259
|
||||||
| 25.12.2017, 12:56 | ||||||
|
может так?
0
|
||||||
|
супермизантроп
3941 / 2979 / 692
Регистрация: 18.04.2012
Сообщений: 8,629
|
|
| 25.12.2017, 13:21 [ТС] | |
|
klopp, спасибо за предложение, однако это, во-первых, не решает задачу об указании юзеру конкретных недопустимых символов, кои он попытался ввести, и, во-вторых, вряд ли это можно назвать "красивым" решением... вот попробуйте сами вводить хоть что-нить в поле, когда ежесекундно будет выскакивать окошко алерта... гарантирую -- громко материться начнёте уже через минуту
0
|
|
|
370 / 133 / 44
Регистрация: 05.02.2015
Сообщений: 901
|
|
| 25.12.2017, 13:44 | |
|
К сожалению, синтаксиса JavaScript не знаю, но вот на java - настольный редактор я конструктивно решал так: пока мы вводим символы в поле, после каждого ввода идет проверка на корректность. если символ недопустимый, окрашиваем его в красный цвет (в библиотеке Swing так можно сделать). когда мы покидаем поле редактирования (уводим курсор, нажимаем какое-нибудь далее и т.д.) вывожу месседж бокс с надписью: "вы ввели не корректные символы перечисляем все красные, они будут удалены" пользователь закрывает окно, символы удаляются, в редакторе остается чистый текст.
0
|
|
|
2463 / 1769 / 625
Регистрация: 11.07.2016
Сообщений: 4,067
|
|||||||||||
| 25.12.2017, 16:37 | |||||||||||
|
https://codepen.io/anon/pen/zpoeqd
По поводу красоты - уж как-нибудь сами. Красота у каждого своя. Добавлено через 20 минут Лично мне пока хватает обычного span'а красного цвета под инпутом, который проявляется в случае ошибки с её текстом.
0
|
|||||||||||
|
супермизантроп
3941 / 2979 / 692
Регистрация: 18.04.2012
Сообщений: 8,629
|
|||
| 25.12.2017, 18:00 [ТС] | |||
|
только есть вопрос: как "покрасить", к примеру, пробел, перевод строки или табуляцию -- все эти символы по условию задачи недопустимые
0
|
|||
|
2463 / 1769 / 625
Регистрация: 11.07.2016
Сообщений: 4,067
|
|
| 25.12.2017, 18:08 | |
|
Ну мы, к сожалению, не можем знать, что в вашем понимании или в понимании заказчика является красивым.
0
|
|
|
370 / 133 / 44
Регистрация: 05.02.2015
Сообщений: 901
|
|
| 25.12.2017, 19:33 | |
|
"""только есть вопрос: как "покрасить", к примеру, пробел, """ не очень понимаю, чем пробел от других символов отличается. заливку как на место буквы а так и на место пробела сделать можно. будет пустое место на красном фоне и все. посмотрите, как заливка в обычном word работает.
0
|
|
|
супермизантроп
3941 / 2979 / 692
Регистрация: 18.04.2012
Сообщений: 8,629
|
|
| 25.12.2017, 21:19 [ТС] | |
|
символ красного цвета - это <font color="red">символ</font>
пробельные символы, кои я перечислил, тем и отличаются, что будь они любого цвета, они не видны предлагаете выделять их фоном ("заливкой")? типа <span style="background-color: red"> </span>? Хмм, это было неочевидно, потому и спросил...
0
|
|
|
566 / 465 / 183
Регистрация: 14.10.2017
Сообщений: 1,259
|
||||||||||||||||
| 26.12.2017, 04:26 | ||||||||||||||||
|
kalabuni, вроде похоже на то как вы хотите,и даже пробел и Enter обозначаются))
P.S.На всякий случай напоминаю-после ввода копипаста щелнуть в любом месте вне инпута.
0
|
||||||||||||||||
|
супермизантроп
3941 / 2979 / 692
Регистрация: 18.04.2012
Сообщений: 8,629
|
|
| 26.12.2017, 22:00 [ТС] | |
|
klopp, благодарю за потраченное время, но простое перечисление недопустимых символов, особливо, если их копипастнуто много -- оно как бы не очень "красиво"
вариант, предложенный выше коллегой minore, с учётом выделения пробельных символов не цветом, а фоном -- он как бы "самое то", буду реализовывать именно его
0
|
|
|
3325 / 2845 / 1423
Регистрация: 15.01.2014
Сообщений: 6,170
|
|||||||||||||||||
| 27.12.2017, 01:14 | |||||||||||||||||
|
На всякий случай, еще один вариант. До ума не доводил, а только постарался передать суть.
HTML+CSS
match), захватить N символов (или слово/фразу/etc) перед и после каждой группы и вывел бы только их. Хотя, может это и лишнее.Добавлено через 1 минуту P.S. Парсер кода скушал символ "zero width space" в теге <i>, но в песочнице он виден.Добавлено через 7 минут ::after добавлял в css. Усталость сказывается.Добавлено через 10 минут Сейчас заметил, что в отличии от FF, Хром не переносит длинную строку. Пока идея одна - ограничить длину блока вывода, например, max-width
0
|
|||||||||||||||||
|
супермизантроп
3941 / 2979 / 692
Регистрация: 18.04.2012
Сообщений: 8,629
|
|
| 27.12.2017, 12:58 [ТС] | |
|
фантазии начальства наконец-то приобрели хоть какую-то форму, к примеру, разъяснено понятие "красота" -- необходимо сделать что-то типа "проверки правописания" в word-e: все введённые недопустимые символы должны по мере редактирования содержимого постоянно присутствовать в поле редактора, но сразу же, как только они введены, должны быть заметно выделены -- подчёркиванием или фоном
где-то под редактором должен быть чекбокс с лейблом "не отправлять с ошибками", и, если он отмечен, то по нажатию кнопки "Отправить" все выделенные ранее символы должны быть удалены; если не отмечен, то текстовое содержимое редактора должно отправляться as is в общем, это явно должен быть контейнер с contenEditable=true (или ифрейм с document.designMode = true) срок мне установили "к 23 февраля", результатом, если он будет, похвастаюсь
0
|
|
|
3325 / 2845 / 1423
Регистрация: 15.01.2014
Сообщений: 6,170
|
||
| 27.12.2017, 13:01 | ||
contenteditable="true" и стилизованный под <textarea>. В остальном, после уточнений начальства, я думаю, что сторонняя помощь вам уже не потребуется.Добавлено через 1 минуту Упс... Пока писал, вы уже сами расставили точки над "I"
0
|
||
|
супермизантроп
3941 / 2979 / 692
Регистрация: 18.04.2012
Сообщений: 8,629
|
||
| 27.12.2017, 13:47 [ТС] | ||
0
|
||
| 27.12.2017, 13:47 | |
|
Помогаю со студенческими работами здесь
15
Нужен совет-какой язык програмирования лучше использовать для написания программы-редактора? Заполнение БД из текстового файла. Нужен совет!!! Совет по созданию графического редактора Разработка текстового редактора Создание текстового редактора Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Отправка уведомления на почту при изменении наименования справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере изменения наименования справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной записи. . .
|
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений.
9TO2GP2bpX4
a42b81fb172ffc12ca589c7898261ccb/
https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/
Слева синяя линия -. . .
|
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. .
Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
|
Контроль уникальности заводского номера - вариант №2
Maks 24.03.2026
В отличие от предыдущего варианта добавлено прерывание циклов, также добавлены новые переменные для сохранения контекста ошибки перед прерыванием цикла:
Процедура ПередЗаписью(Отказ, РежимЗаписи,. . .
|
|
SDL3 для Desktop (MinGW): Вывод текста со шрифтом TTF с помощью библиотеки SDL3_ttf на Си и C++
8Observer8 24.03.2026
Содержание блога
Финальные проекты на Си и на C++:
finish-text-sdl3-c. zip
finish-text-sdl3-cpp. zip
|
Жизнь в неопределённости
kumehtar 23.03.2026
Жизнь — это постоянное существование в неопределённости. Например, даже если у тебя есть список дел, невозможно дойти до точки, где всё окончательно завершено и больше ничего не осталось. В принципе,. . .
|
Модель здравоСохранения: работники работают быстрее после её введения.
anaschu 23.03.2026
geJalZw1fLo
Корпорация до введения программа здравоохранения имела много невыполненных работниками заданий, после введения программы количество заданий выросло.
Но на выплатах по больничным это. . .
|
Контроль уникальности заводского номера - вариант №1
Maks 23.03.2026
Алгоритм контроля уникальности заводского (или серийного) номера на примере документа выдачи шин для спецтехники с табличной частью в конфигурации КА2. Данные берутся из регистра сведений, по. . .
|