2012-04-12 77 views
0

我一直在使用下面放一个默认值的文本框textarea的默认值

<textarea name="message" id="message" cols="30" rows="5" value="Comment" 
    class="form_text text-input shadow" title="Comment" 
    onblur="if (this.value == '') {this.value = 'Comment';}" 
    onfocus="if (this.value == 'Comment') {this.value = '';}"> 
</textarea> 

而且部分工作。该字段最初不会显示默认值,但如果您在其中单击然后输出,而不输入任何内容,则会显示“注释”。

任何想法如何我可以修改这个,使“表达式加载时出现”Comment“。

+0

我应该补充说,相同的代码对于文本字段可以正常工作。 – Andy 2012-04-12 17:56:41

+0

一些有趣的答案。谢谢你们。 – Andy 2012-04-12 19:21:10

回答

3

textarea的默认文本必须用标签

<textarea> this is my default text </textarea> 
+0

这是否也适用于常规文本框? – Andy 2012-04-12 18:28:38

+0

是的,它与'值'一起工作,但输入框有一个值字段,textarea不。也要注意一个空间。 '左边的空间',你不会在默认文本中看到左边的空格。 – 2012-04-12 18:30:29

3
<textarea>default value</textarea> 

这应该做的伎俩。

4

不要使用价值用途:

<textarea name="message" id="message" cols="30" rows="5" 
    class="form_text text-input shadow" title="Comment" 
    onblur="if (this.innerHTML == '') {this.innerHTML = 'Comment';}" 
    onfocus="if (this.innerHTML == 'Comment') {this.innerHTML = '';}"> 
Comment 
</textarea> 
+0

你是对的,但你离开的JS代码现在是不正确的。 – 2012-04-12 18:03:52

+0

@Artimuz更好? :] – 2012-04-12 18:06:44

+1

好得多;) – 2012-04-12 18:08:35

1

textarea的具有innerHTML的不是价值属性(价值=“注释”是不是要设置正确的方法值)

尝试,

<textarea name="message" id="message" cols="30" rows="5" 
    class="form_text text-input shadow" title="Comment" 
    onblur="if (this.value == '') {this.value = 'Comment';}" 
    onfocus="if (this.value == 'Comment') {this.value = '';}"> 
    Comment 
</textarea> 
2

<textarea>元素没有value属性:默认值是你打开和关闭标签之间写的是什么:

<textarea>My default value</textarea> 

在Javascript中,您可以存取权限本文以.innerHTML(或使用jQuery与.val())。

对于您试图实现的行为,您可以使用HTML5 placeholder attribute并使用jQuery polyfill for old browsers

1
<textarea>Value</textarea> 

另外,如果您通过jquery使用$(document).ready(),则可以通过javascript在负载上分配值。