我希望我的脚本在用户点击它时检查textarea框,并且它的值是否为“在此添加其他信息!”使框变为空白并将文本颜色更改为#000。它最初是灰色的。
的javascript
function changeMessage() {
if(this.value=='Add additional information here!')
{this.value='';this.style.color='#000';}
}
HTML
<textarea name="message" id="message_input" rows="4" cols="21" maxlength="200"
onfocus="changeMessage();"
onblur="changeMessageBack();"
>Add additional information here!</textarea>
答案 0 :(得分:2)
在changeMessage()
的上下文中,this
未引用您的文字区域。尝试传入文本区域对象,如下所示:
<强> JS:强>
function changeMessage(obj) {
if(obj.value=='Add additional information here!') {
obj.value='';
obj.style.color='#000';
}
}
<强> HTML 强>
<textarea name="message" id="message_input" rows="4" cols="21" maxlength="200"
onfocus="changeMessage(this);"
onblur="changeMessageBack(this);"
>Add additional information here!</textarea>
这是a working fiddle来演示。
其他信息:
答案 1 :(得分:2)
当您在全局范围内调用changeMessage()
时,this
引用window
对象,而您可以通过use {{{{}}告诉运行时为函数调用提供的值。 3}}
将onfocus="changeMessage();"
更改为onfocus="changeMessage.call(this);"
答案 2 :(得分:1)
您也可以使用不带javascript的占位符属性:
<input type="text" name="the_name" placeholder="Add additional information here!">