Стирание содержимого ввода / текстовой области при нажатии? - PullRequest
0 голосов
/ 03 сентября 2010

чтобы упростить редактирование этих полей, было бы неплохо, если бы их содержимое было удалено при нажатии. Кроме того, значение по умолчанию (представленное изначально) необходимо отправить, если оно не изменилось, это означает, что я (вероятно) не ищу (n HTML 5) заполнитель, который автоматически удаляется, но фактический текст. Было бы еще лучше, если бы значение по умолчанию возвращалось, если поле не выбрано и оставлено пустым.

Есть предложения?

P.S: Пример: ввод "ваш адрес электронной почты" вверху http://www.makeuseof.com/.

Ответы [ 2 ]

2 голосов
/ 03 сентября 2010
<input type="text" value="Something" onfocus="if (this.value == this.defaultValue) this.value='';" onblur="if (this.value == '') this.value = this.defaultValue;">

Если вы хотите использовать его более чем в одном элементе, вы должны извлечь обработчики событий во внешнюю функцию / скрипт.

EDIT:

При использовании внешней функции вам необходимо предоставить ссылку на элемент ввода в качестве параметра функции.

<script type="text/javascript">
    function focused(element){if (element.value == element.defaultValue) element.value='';}
    function blurred(element){if (element.value == '') element.value = element.defaultValue;}
</script>

<input type="text" value="Default Value" onfocus="focused(this)" onblur="blurred(this)">

NB. В JavaScript принято, чтобы функции начинались с маленькой буквы.

0 голосов
/ 03 сентября 2010

Попробуйте с onfocus:

<input type="text" value="Default text" onfocus="this.value = ''">
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...