2010-11-12 60 views
4

我有一個textarea,它在焦點時應該清空文本保持器,當焦點不對時應該取回原始文本或保留任何焦點寫入的文本。Html Textarea Placeholder

編輯:

我知道如何選擇文本區域。 $(「textarea」)。text();

我不知道如何清除內容,當你點擊textarea到什麼都沒有,然後再次獲取內容時,焦點不集中。

+0

所以,你有兩個元素 - '文本區域' 和 'textholder'。 'textarea'在獲得焦點時應該獲取並存儲'textholder'的內容,並在失去焦點時將相同的文本返回給'textholder'。 – 2010-11-12 20:47:54

+0

那麼你真正的問題是什麼?你的問題在哪裏? – 2010-11-12 20:58:14

+0

@guys對不起,我的母語不是英語。 – 2010-11-12 21:07:02

回答

8

看來你試圖做的事情,你在textarea得到指示,然後如果你刪除的價值,你再次得到指示。試試這個

<textarea id="a">Message</textarea> 

var standard_message = $('#a').val(); 
$('#a').focus(
    function() { 
     if ($(this).val() == standard_message) 
      $(this).val(""); 
    } 
); 
$('#a').blur(
    function() { 
     if ($(this).val() == "") 
      $(this).val(standard_message); 
    } 
); 

你可以看到它的工作here

+0

非常感謝。正是我所期待的。我試圖understrand哪些函數使用.focus和.blur感謝cambraca – 2010-11-12 21:21:01

+0

對於本地'placeholder'屬性的更多功能完整的polyfill/shim,請查看這個偉大的項目:http://jamesallardice.github.io/Placeholders .js文件/。 – Oliver 2014-04-29 21:28:48

13

只需添加佔位PARAM:

<input type="text" name="name" placeholder="input placeholder" /> 
<textarea name="comment" placeholder="textarea placeholder"></textarea> 
+1

佔位符是HTML5屬性,不適用於IE7或IE8。請注意,除非您有標籤或使用基於JavaScript的解決方案,否則您的表單將在前面提到的瀏覽器中被打破。 – siliconrockstar 2012-08-30 01:29:52

+1

@siliconrockstar - 它也不會在IE9中工作。但是,有很多['placeholder'屬性填充](https://github.com/jamesallardice/Placeholders.js)可用,它將增加對舊瀏覽器的支持。這個解決方案在語義上更好。 – 2012-09-01 18:12:10

+1

@ JA - 感謝您的基於JavaScript的解決方案的鏈接。 – siliconrockstar 2012-09-02 01:56:07