вопрос по яваскрипт

Benderlio

Новичок
вопрос по яваскрипт

есть форма, необходимо при фокусе поля очищать в нем текст

<form name='form' method='post' action='mail_to_user.php?id_post=$id_post'>
<input type='text' id='name_mail_to' onclick='clear_field()' name='name_mail_to' size=50 value='Заголовок сообщения...'><br>
<br><textarea name='text_mail_to' cols='40' rows='7'>Текст сообщения...</textarea><br>
<input type='text' name='email_post' size=50 value='Ваш контактный электронный адресс...'><br>
*Все поля обязательны для заполнения.<br>
<input type='submit' name='Submit' value='Отправить'>
</form>
вопрос как скрипту передать название id поля ?
или для каждого поля писать скрипт удаления текста...
и еще такой вопрос, как очистить текст в <textarea> ?
<script>
function clear_field()
{
document.getElementById('name_mail_to').value="";
}
</script>
 

ksnk

прохожий
можно использовать слово this
...onclick='clear_field(this)'...
 

Igor aka TiGR

Новичок
Корректнее это делать так:
Код:
function clear_field()
{
    if (this.value == '<начальное значение>') 
        this.value="";
}
В общем. в этом духе, чтобы поле очищалось не всякий раз, а только первый - убирая оттуда никому не нужную надпись. Просто если пользователь потерял форкус, а потом вернулся в это поле, куда уже ввёл данные - если оно очистится, навряд ли он вам скажет спасибо.
 

Benderlio

Новичок
благодарю :) а как же быть с <textarea> ?

-~{}~ 07.09.06 16:17:

ksnk
можно использовать слово this
...onclick='clear_field(this)'...

что то не получаеться... делаю так

function clear_field(this)
{
document.getElementById(this).value="";
}
 

ksnk

прохожий
Блин! this - служебное слово, а не всякой бочке затычка
Код:
function clear_field(e)
{
  if (e.value) e.value='';
}
 
Сверху