Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 2007.12.23;
Скачать: [xml.tar.bz2];

Вниз

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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.48 MB
Время: 0.046 c
3-1187156508
bss
2007-08-15 09:41
2007.12.23
Oracle+ADO, Формат даты


2-1196229163
d@nger
2007-11-28 08:52
2007.12.23
Как узнать противоположный цвет?


15-1196087452
DVM
2007-11-26 17:30
2007.12.23
Глюк с дизайнером меню в Delphi 2007. Это только у меня? Или нет?


15-1195675268
Petr V. Abramov
2007-11-21 23:01
2007.12.23
Сколько "н" в слове бессмысленно.?


2-1196113083
DeeCee
2007-11-27 00:38
2007.12.23
Задачка на массивы





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский