努力理解为什么我的textarea中的占位符没有显示输入。
<textarea value="Begin your message..." onfocus="ClearPlaceHolder (this)" onblur="SetPlaceHolder (this)" class="contactForm" ></textarea>
<script type="text/javascript">
function ClearPlaceHolder (input) {
if (input.value == input.defaultValue) {
input.value = "";
}
}
function SetPlaceHolder (input) {
if (input.value == "") {
input.value = input.defaultValue;
}
}
</script>
我在这个脚本中将输入替换为输入,但它没有改变任何东西?
答案 0 :(得分:4)
为什么不直接使用HTML占位符?
<textarea placeholder="Please type something here..."></textarea>
在我看来,我会更优雅,而且不需要任何JS。
答案 1 :(得分:3)
这是因为textarea
没有属性value
textarea
的值介于开始和结束标记之间:
<textarea onfocus="ClearPlaceHolder(this)"
onblur="SetPlaceHolder(this)"
class="contactForm">Begin your message...</textarea>
答案 2 :(得分:1)
您可以使用属性placeholder
:
<textarea placeholder="placeholder string"></textarea>
答案 3 :(得分:1)
另请注意,textarea没有值属性,因为您可以在http://www.w3schools.com/tags/tag_textarea.asp中阅读 值是属性,因此您使用的语句对于将文本放入文本区域
是正确的input.value = "text";
但请记住,创建和更改值属性不会更改值属性。