2011-07-21 194 views

回答

-1
<textarea onfocus="this.value = ''">This is my default value</textarea> 

此負責的小片的代碼:

onfocus="this.value = ''" 

基本上當焦點事件被觸發時,當前字段的值被設置爲一個空字符串""

當然

您可以使其更加複雜,並確保它只在元素包含默認消息時纔會擦除:

<textarea id="myfield">This is my default value</textarea> 

的javascript:

var defaultMsg = "This is my default value"; 
document.getElementById("myfield").onfocus = function() { 
    if (this.value == defaultMsg) { 
     this.value = ""; 
    } 
} 

document.getElementById("myfield").onblur = function() { 
    if (this.value == "") { 
     this.value = defaultMsg; 
    } 
} 
+0

即使在用戶輸入他/她自己的文本後,這將清除該值。 – tskuzzy

+0

好的...之後,如果用戶沒有寫入任何內容並點擊了文本區域,那麼如何返回默認值? – Webroots

+0

這絕對不僅僅是清晰的焦點。 – BoltClock

2

你不能在HTML做到這一點。你必須爲此使用Javascript。因此,像這樣......

<textarea name="mytext" cols="30" rows="5" onfocus="if(this.value=='Default')this.value='';"> 
    Default 
</textarea> 

onfocus屬性將允許Javascript來執行一次文本框具有焦點。 Javascript會檢查文本是否爲默認文件,如果是,它將清除文本框。

+0

要注意tskuzzy的解決方案,確保無論你把文本區域的默認文本,你也使它相同(大小寫和所有內容)'this.value =='Default'的文本' – Joshua

1

試試這個jQuery的

$("#id_of_textarea").focus(function(){ 
    $(this).val(""); 
    }); 

或textarea標籤內的javascript:

onfocus="this.value='';" 

或更新的瀏覽器的HTML5(也在textarea標籤):

placeholder="Your Default String" 

或將其帶回:

onfocus="if(this.value=='Default String') this.value='';" 
     onblur="if(this.value=='') this.value='Default String';" 
+0

佔位符替換字符串,如果用戶沒有填充textarea並將焦點帶到頁面上的另一個元素。 – Luke

4

您正在尋找HTML5 placeholder屬性:

<textarea name="mytext" cols="30" rows="5" placeholder="Default"></textarea> 

這將在所有新的瀏覽器工作保存IE瀏覽器。覆蓋較舊的瀏覽器,you can use a shim