2011-07-21 103 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