Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.12.23;
Скачать: CL | DM;

Вниз

JavaScript: "не выпускаем" пользователя из поля ввода, пока...   Найти похожие ветки 

 
Cyrax ©   (2007-11-25 22:10) [0]

...не введёт корректное значение.
Как реализовать сабж ?
Пока на событие onChange объекта/тега <input type="text"...> нацепил следующий обработчик:

function proccessCount(input)
{ if(!checkCount(input.value))
{
window.event.cancelBubble = true;
input.style.backgroundColor = incorrect_color;
}
else
{
input.style.backgroundColor = correct_color;
};
}


При этом в случае перехода на другую ячейку или нажатии tab переход осуществляется. Мне же нужно вернуть его (пользователя) на поле ввода с некорректным значением. Либо вернуть, либо проигнорировать переход на другую ячейку или другое действие, связанное с потерей фокуса поля ввода. Как это сделать ?

з.ы. Ещё один вопрос: событие onChange генерируется только при нажатии Enter на поле ввода или при другом действии, связанном с потерей фокуса. Какое событие генерируется в момент ввода символов в поле ввода ? Т.е. мне нужно реагировать на ввод символов прямо в процессе ввода, когда ещё изменения (value) поля не вступили в силу.


 
kaif   (2007-11-25 22:21) [1]

Бедные юзеры...


 
boa_kaa ©   (2007-11-25 22:24) [2]

надеюсь, это в принципе невозможно


 
homm ©   (2007-11-25 22:27) [3]

"не выпускаем" пользователя из поля ввода, пока...
> ...не введёт корректное значение.

иголки под ногти за такое нужно сувать…


 
DiamondShark ©   (2007-11-26 00:07) [4]

Не занимайтесь фигнёй.
Проверяйте корректность формы при onSubmit, все поля сразу, с возможными взаимозависимостями.


 
Cyrax ©   (2007-11-26 09:24) [5]


> надеюсь, это в принципе невозможно

возможно...


> иголки под ногти за такое нужно сувать…

жестоко... лучше не выпускать...


> Не занимайтесь фигнёй.
> Проверяйте корректность формы при onSubmit, все поля сразу,
>  с возможными взаимозависимостями.

Собственно, наступает интеллектуальный предел ?


 
@!!ex ©   (2007-11-26 09:29) [6]

> жестоко... лучше не выпускать...

Ты не понял...
Тебе иголки...


 
Алхимик ©   (2007-11-27 08:01) [7]

После такого "насилия" пользователи будут собираться в группы и подкарауливать возле подьезда.

> Какое событие генерируется в момент ввода символов в поле ввода ?
OnKeyDown


 
pasha_golub ©   (2007-11-27 10:00) [8]

Нафига не выпускать? при неверном значении делай подсветку красным цветом. такое возможно, и сразу даст понять суть проблемы


 
oldman ©   (2007-11-27 11:17) [9]

А Alt+F4 это корректное значение?


 
{RASkov}   (2007-11-27 11:37) [10]

Зря вы так.... я думаю это нормально "не выпускать из поля ввода".... т.е.
при смене контрола(фокус поля ввода) с клавиатуры(типа нажали Ентер или Таб) то при не верно введенном значении нужно "просиренить"(каким нибудь Бипом.... вообщем звуком) и оставаться в поле.
Если "мышой" фокус меняем, то при не верном значении - просиренить и покрасить фонт, но фокус не задерживать....
Можно и вообще только подсветку [8], но.... какая разница, лишь бы все работало четко, красиво и удобно....)


 
homm ©   (2007-11-27 11:40) [11]

> [10] {RASkov}   (27.11.07 11:37)
> при смене контрола(фокус поля ввода) с клавиатуры(типа нажали
> Ентер или Таб)

А как ты это отслдеишь? Еще и на джаве.


 
pasha_golub ©   (2007-11-27 11:42) [12]


> {RASkov}   (27.11.07 11:37) [10]


> Зря вы так.... я думаю это нормально "не выпускать из поля
> ввода".... т.е.

Да что ты? :) Пример: форма отправки эл. письма. Я не помню мыла, и прошу своего коллегу найти у себя в архиве. Пока он ищет, я хочу написать текст сообщения. А слишком умный программер меня не пускает. Потому шо у него свое видение порядка заполнение полей


 
{RASkov}   (2007-11-27 11:49) [13]

> [11] homm ©   (27.11.07 11:40)
> А как ты это отслдеишь? Еще и на джаве.

Не знаю..... джабу :(


> [12] pasha_golub ©   (27.11.07 11:42)
> Да что ты? :) Пример: форма отправки эл. письма. Я не помню
> мыла, и прошу своего коллегу найти у себя в архиве. Пока
> он ищет, я хочу написать текст сообщения. А слишком умный
> программер меня не пускает. Потому шо у него свое видение
> порядка заполнение полей


Еще раз....
"Не выпускать" только по Ентеру или Табу и если введено неверное значение, а если ничего не введено то считать поле не верным(или как там нужно) но с клавиатуры "не тормозить".... во как :)

С нормально продуманном алгоритмом действия можно такой клёвый интерфейс взаимодействия с пользователем "замутить"... :))

ЗЫ Зря вы так.... :)


 
DiamondShark ©   (2007-11-27 12:49) [14]


> {RASkov}   (27.11.07 11:49) [13]

Форма подразумевает произвольный порядок заполнения полей.
Единственное требование -- это корректность значений в момент отправки.

Не надо себе и пользователям придумывать проблем на одно место.


 
{RASkov}   (2007-11-27 13:23) [15]

> [14] DiamondShark ©   (27.11.07 12:49)
> Единственное требование -- это корректность значений в момент
> отправки.

В общем на всех не угодишь.... Одним так надо - другим так....
:о)

> Не надо себе и пользователям придумывать проблем на одно
> место.

зачем отвечать за всех?)

ЗЫ По "Таб"у" лучше тоже не тормозить, а вот "Ентер" - вроде как подтверждение ввода - тут можно и не пустить далее :)
ЗЫЖ Да ладно Вам :)



Страницы: 1 вся ветка

Текущий архив: 2007.12.23;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.019 c
2-1196319865
Dennis I. Komarov
2007-11-29 10:04
2007.12.23
GetApplicationDataPath


3-1187346916
Bless
2007-08-17 14:35
2007.12.23
Как правильно "гасить" MSSQL-ошибку с кодом 266


15-1196026503
Tos-ka
2007-11-26 00:35
2007.12.23
Подскажите условиями входит точка в тело или нет.


15-1195712629
LewSavchu
2007-11-22 09:23
2007.12.23
facebook


15-1195850489
syte_ser78
2007-11-23 23:41
2007.12.23
windows 1.01