Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 09.12.2012, 00:43
Новичок на форуме
Отправить личное сообщение для TheSameSon Посмотреть профиль Найти все сообщения от TheSameSon
 
Регистрация: 09.12.2012
Сообщений: 3

Текст в input пропадающий при получении фокуса
Есть текстовое поле
<input onblur="if(this.value=='') this.value='Ваше имя'" onclick="if(this.value='Ваше имя') this.value=''" type="text" id="wsf_name" name="wsf_name" value="Ваше имя" />

Хотелось бы, чтобы когда пользователь введет какое-то значение, потом уберет указатель с элемента и снова поместит его туда (чтобы что-то дописать) оно не сбрасывалось на ''.
Сейчас это происходит, т.к. value все равно остается "Ваше имя" даже если в поле введено другое значение. Предполагаю, что нужно что-то типа
onchange="this.value='вот тут нужно получить то, что вводит пользователь'"
. Пытался, не получилось.
Ответить с цитированием
  #2 (permalink)  
Старый 09.12.2012, 01:00
Аватар для pikko
Аспирант
Отправить личное сообщение для pikko Посмотреть профиль Найти все сообщения от pikko
 
Регистрация: 06.10.2012
Сообщений: 60

onclick="if(this.value == 'Ваше имя') this.value=''"
Ответить с цитированием
  #3 (permalink)  
Старый 09.12.2012, 01:18
Новичок на форуме
Отправить личное сообщение для TheSameSon Посмотреть профиль Найти все сообщения от TheSameSon
 
Регистрация: 09.12.2012
Сообщений: 3

pikko,
Это есть уже. Проблема в том, что если юзер напишет там 'Вася', уберет указатель, вернет его снова, то 'Вася' исчезнет, т.к. в коде value='Ваше имя'. Ну если исчезнувший Вася еще не критично, то дальше в форме есть аналогичный textarea, в который вводится текст комментария, и если будет пропадать стена текста, написанная пользователем, то это уже не хорошо.
Ответить с цитированием
  #4 (permalink)  
Старый 09.12.2012, 02:48
Профессор
Отправить личное сообщение для Hoshinokoe Посмотреть профиль Найти все сообщения от Hoshinokoe
 
Регистрация: 08.01.2012
Сообщений: 253

TheSameSon,

Тебе указали на ошибку: вместо операции сравнения (==) у тебя стоит операция присваивания (=). Поэтому по клику текст всегда меняется на "Ваше имя".

onclick="if(this.value='Ваше имя') this.value=''"

И вместо события onclick в данном случае нужно использовать onfocus.

<input onblur="if(this.value=='') this.value='Ваше имя'" onfocus="if(this.value=='Ваше имя') this.value=''" type="text" id="wsf_name" name="wsf_name" value="Ваше имя" />

Последний раз редактировалось Hoshinokoe, 09.12.2012 в 02:56.
Ответить с цитированием
  #5 (permalink)  
Старый 09.12.2012, 03:33
Новичок на форуме
Отправить личное сообщение для TheSameSon Посмотреть профиль Найти все сообщения от TheSameSon
 
Регистрация: 09.12.2012
Сообщений: 3

Hoshinokoe,
И правда, не обратил внимания. Спасибо!
pikko,
Спасибо!
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Снятие затемнения с экрана при получении ответа от php срипта с помощью setInterval roma86 jQuery 0 16.08.2009 12:39
Вопрос по относительному позиционированию DIV XPOMOB (X)HTML/CSS 11 15.07.2009 17:02
Как изменить текст при наведении курсора? sewernik Элементы интерфейса 2 13.04.2009 19:31
JS при щелчке на сылку появляется текст Ed51 Ваши сайты и скрипты 2 05.02.2009 23:57
При нажатие выводится текст dembi Общие вопросы Javascript 4 19.01.2009 17:50