"не терять" фокус
Доброго времени суток!
Есть текстовое поле, допустим, "город", есть див ниже него в который подгружаются элементы для выбора, типа подсказок, для текстового поля. На форме есть и другие поля. После введения данных в поле "город" нужно проверить. На ум приходит только потеря фокуса, после чего осуществляем проверку. Но, если щелкнуть по диву в котором подсказки, фокус с поля теряется и проверятся уходит то, что еще небыло до конца заполнено. Может быть можно как то "обмануть" потерю фокуса? Звучит примерно так: если "город" потеряло фокус и активный элемент не див с подсказками отправляем данные на проверку. |
Чет ниче не понял. У тебя поле город это input? Так у инпута есть событие change которое и срабатывает как раз в этот момент.
|
Цитата:
Можно еще нажатия кнопок отлавливать... С таймаутом... ;) |
change почти то же самое - срабатывает при потере фокуса.
Попробую объяснить. Есть поле input, есть div. Во время ввода в input в div подгружаются данные из которых пользователь может что-то выбрать и выбранное попадет в input. Как у яндекса и гугла в строке поиска. После того как пользователь ввел данные в Input нужно проверить их(отправляются на сервер). Т.е. пользователь может либо ввести данные в input с клавиатуры либо выбрать их из предложенных вариантов, отображенных в div. Как определить что пользователь закончил ввод данных в input? В голову приходит стандарное потеря фокуса. Но, если пользователь мышкой щелкнет по диву для того чтобы выбрать один из предложенных вариантов, поле input потеряет фокус и событие потери фокуса, что логично, произойдет раньше чем событие щелчка по диву. Т.е. данные из дива в input еще не попадут, но на проверку по событию потери фокуса уйдут, а в див попадут только после этого. Это вызовет ошибку. Можно ли как то решить эту проблему? Надеюсь внятно написал в этот раз :) |
Цитата:
Но если твой инпут сунуть в форму - можно ловить событие onsubmit... ;) |
ksa,
Если бы было все так просто... нужно провести валидацию по этому полю раньше чем данные с формы уйдут на сервер. Есть тому причина... Видимо решения вопроса не существует :( |
Цитата:
Так вот не вилосипедь, создавай форму и индикацией "закончил ввод" пусть служить момент отправки формы. |
Цитата:
|
Цитата:
|
Цитата:
|
Часовой пояс GMT +3, время: 16:22. |