textarea占位符消息

时间:2011-01-14 21:33:50

标签: javascript forms

只做一个文本区域,对于输入,我们可以使用占位符文本:

name="inputname" value="Enter Text Here" onfocus="if(this.value == 'Enter Text Here') { this.value = ''; }" onblur="if (this.value == '') { this.value='Enter Text Here'; }"

但是在 textarea 中它不起作用,直到您点击该字段并再次退出。

对此有任何解决方法吗?

要添加

我们从表单中提取已保存的条目,并在标记元素之间喷出:

......><?=str_replace("<br />", "", $somestuff);?></textarea>

4 个答案:

答案 0 :(得分:3)

textarea的默认文本介于标记之间,而不是在value属性中,如下所示:

<textarea name="inputname" onfocus="if(this.value == 'Enter Text Here') { this.value = ''; }" onblur="if (this.value == '') { this.value='Enter Text Here'; }">Enter Text Here</textarea>

答案 1 :(得分:1)

您仍然可以使用value,但现在文字位于textarea元素内。

<textarea 
name="inputname" value="Enter Text Here" onfocus="if(this.value == 'Enter Text Here') { this.value = ''; }" onblur="if (this.value == '') { this.value='Enter Text Here'; }" >Enter Text Here</textarea>

答案 2 :(得分:0)

http://www.jsfiddle.net/KG5UE/4/

您的代码在Chrome中适用于我。这是一个证明它的方法。

哦,对于textarea?对不起,我的手指比我的眼睛快......

去达斯汀所说的,他是对的......更新了jsfiddle以包含两种情况

答案 3 :(得分:0)

我在IE7上尝试了以下文件并且有效。

<html>

<body>

<textarea name="inputname" value="Enter Text Here" onfocus="if(this.value == 'Enter Text Here') { this.value = ''; }" onblur="if (this.value == '') { this.value='Enter Text Here'; }" ></textarea>

</body>
</html>