2013-03-23 6 views
0

У меня есть тип ввода = «текст», его значением по умолчанию является «Майк». Когда пользователь нажимает на него, предполагается, что значение должно быть установлено на '' (пустое), а когда оно выходит из фокуса, оно должно вернуться к «Mike» (если пользователь не изменил значение на другое имя). То, что я сделал это:JavaScript - статические переменные?

<input type="text" id="TxtFname" style="width:50%" runat="server" 
    onfocus="firstText = this.text;if(this.value!=''){this.value='';}" 
    onblur="if(this.value==''){this.value=firstText;}" /> 

и в верхней части страницы, в держателе головки содержания места:

<script type="text/javascript" lang="jv"> 
    var firstText; 
</script> 

по какой-то причине он держит «забывчивость» Что значение firstText является, так он устанавливает значение текстового поля как «неопределенное». Есть ли способ создать статическую переменную, поэтому значение firstText не сбрасывается каждый раз?

+0

Вы действительно должны использовать атрибут 'placeholder' для таких вещей ... – Bergi

ответ

2

Вы должны установить firstText атрибуту ввода value.

firstText = this.value; 

В противном случае this.text не определено свойство на входе элемента, поэтому его значение получает дефолте в undefined.

+0

Спасибо! Я думал, что текст и ценность - одно и то же. это решило мою проблему. –

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