Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Вернуть элемент в фокусе (https://javascript.ru/forum/dom-window/24151-vernut-ehlement-v-fokuse.html)

SvetozarPNZ 19.12.2011 12:26

Вернуть элемент в фокусе
 
Привет!
Я пишу пытаюсь писать скрипт проверки полей формы. Хочу, чтобы поле ввода очищалось при фокусе на нем и заполнялось (если пустое) при уходе фокуса.

<input name="mail" id="ob" value="Обратная связь" type="text" onfocus="clearing">


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

:help:

Pavel M. 19.12.2011 13:41

Цитата:

Сообщение от SvetozarPNZ
как отследить уход фокуса с элемента

событие 'blur'

SvetozarPNZ 19.12.2011 14:20

Свою проблему частично решил таким образом:
<input name="mail" id="ob" value="Обратная связь" type="text" onfocus="clearing ('ob')">

И уже в фукнции через id находил объект в фокусе.

розовый слоник 19.12.2011 21:03

Цитата:

<input name="mail" id="ob" value="Обратная связь" type="text" onfocus="clearing ('ob')">
капец (рука лицо)
лучше передавать this функции так как в противном случаее каждому input'у прийдется передавать уникальный id. А если у вас таких интупов будет 20, 30, 40. кстати насколько я помню в ие были проблемы со значение value после того как вы ввели в инпут какие либо данные.

FINoM 20.12.2011 07:00

<input placeholder="Fuck yea">
Ну а если кроссбраузерно, то копай событие onblur, свойство this.defaultValue

SvetozarPNZ 20.12.2011 16:43

Зашел написать для начинающих, что нашел более масштабный способ с this, который увидел в одной из статей. А тут уже подсказали. Еще общий вопросик задам. А если вообще не хочется ничего в форме писать? Все во внешнем скрипте получится сделать? Есть ли в javascript какие-нибудь подобия прослушивателей событий для элементов?

SvetozarPNZ 20.12.2011 16:51

FINoM,
Спасибо, не знаю HTML5. Но не буду использовать пока рановато. С моей аудиторией еще долгие годы будет рановато...

FINoM 20.12.2011 19:30

Цитата:

Сообщение от SvetozarPNZ
А если вообще не хочется ничего в форме писать?

Тогда по событию submit очищать те поля где value === defaultValue.

SvetozarPNZ 21.12.2011 10:50

Я имел в виду совсем уйти от записей в коде HTML. Все обрабатывать во внешнем *.js. Убрать все онфокусы, онблюры...

По сабмиту у меня проверка будет. А на полях нужен placeholder, который в HTML 5, реализовать скриптом.

FINoM 21.12.2011 16:34

Цитата:

Сообщение от SvetozarPNZ
Я имел в виду совсем уйти от записей в коде HTML. Все обрабатывать во внешнем *.js.

Вынести обработчики событий в js файл. Это правильная практика.

SvetozarPNZ 22.12.2011 12:45

Цитата:

Сообщение от FINoM (Сообщение 144975)
Вынести обработчики событий в js файл. Это правильная практика.

Вы имеете в виду, что в HTML не прийдется писать:
<input onblur = "test()">
?

Правильно я вас понял?

Если да, то как это сделать? Уж очень хочется мне универсальную функцию написать.

FINoM 22.12.2011 17:00

Цитата:

Сообщение от SvetozarPNZ
Если да, то как это сделать?

Это легко гуглится.

SvetozarPNZ 23.12.2011 11:44

Гнусное дело - отправлять новичков в поисковую систему с профильного форума...
Сам спросил, сам ответил. Пусть будет полезно для других новичков.
document.getElementById('myElement').onclick = function() {
    alert('Спасибо')
}

Взял с этого же сайта:Как делать обработчики событий вне HTML кода

dmitriymar 24.12.2011 02:47

Цитата:

Сообщение от SvetozarPNZ
Зашел написать для начинающих....

простите,а вы кто?
Цитата:

Сообщение от SvetozarPNZ
Гнусное дело - отправлять новичков в поисковую систему с профильного форума...

в чём гнусное? в том что будут учиться пользоваться справочными материалами и думать,а не сделайте за меня?
Цитата:

Сообщение от SvetozarPNZ
ocument.getElementById('myElement').onclick = function() {

поздравляю,вы открыли для себя новые знания,но не стоит это объявлять как панацею,это довольно таки устаревшие знания-лет так на 5.
Вы заметили,что на сайте есть учебник очень хороший и статьи,если бы вы не сочли за труд ознакомиться с ними полностью,подобное вы бы не писали!


Часовой пояс GMT +3, время: 04:56.