2011-07-11 119 views
0

我使用下面的腳本爲默認值添加到輸入文本框:添加默認值到文本框

$('.default-value').each(function() { 
    var default_value = this.value; 
    $(this).css('color', '#746F66'); // this could be in the style sheet instead 
    $(this).focus(function() { 
     if(this.value == default_value) { 
      this.value = ''; 
      $(this).css('color', 'black'); 
     } 
    }); 
    $(this).blur(function() { 
     if(this.value == '') { 
      $(this).css('color', '#746F66'); 
      this.value = default_value; 
     } 
    }); 
}); 

通過以下形式:

<form method="post" action="contactengine.php"> 
    <input type="textbox" class="default-value" name="Name" id="Name" value="Full Name"> 

    <input type="textbox" class="default-value" name="Email" id="Email" value="Email"> 

    <textarea name="Message" class="default-value" name="Message" id="Message" value="Your message"></textarea> 

    <input type="submit" name="submit" id="submit" value="Submit" class="submit-button" /> 
</form> 

的默認值做工精細的文本框,但我不能解決如何獲得默認值到textarea。目前在textarea上沒有任何東西出現,你可以看到here

有人可以幫忙嗎?

感謝,

尼克

回答

2

嘗試改變這一行:

var default_value = this.value; 

要:

var default_value = $(this).val(); 

這是因爲textarea沒有一個value屬性,以爲這個元素分配一個默認文本簡單放置文本在開啓和關閉之間,元素的標籤,因此:

<textarea name="Message" class="default-value" name="Message" id="Message">Your message.</textarea> 

JS Fiddle demo


編輯測試後,在Chromium 12/Ubuntu的11.04,發現,儘可能的JavaScript關注(至少在這個瀏覽器/平臺) var default_value = this.value;工作正確分配 default_value

JS Fiddle demo

+0

textarea也有一個值屬性。 –

+0

@David Thomas謝謝大衛,現在工作正常。缺口 – Nick