2010-09-03 3 views
0

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

Любые предложения?

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

ответ

2
<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

Большое спасибо за ваш быстрый ответ, не могли бы вы объяснить «извлечение обработчиков событий внешней функции» чуть более подробно, я никогда раньше не использовал javascript (пытаясь изучить PHP). Я думаю, мне нужна функция, а не сценарий, поскольку я буду использовать это только на одной странице. Затем я вызываю функцию при щелчке ввода/textarea, правильно? Еще раз спасибо. EDIT: Работает, как шарм, кстати! – Chris

+0

Получил работу, отлично :-). – Chris

0

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

<input type="text" value="Default text" onfocus="this.value = ''"> 
+0

Да, я уже пробовал это, но он не появился по умолчанию, если он остался пустым :-). Спасибо, в любом случае! – Chris

Смежные вопросы