我写的代码显示提示用户在<textarea/>
在灰色;
下一个想法:
1.最初将'Please, type your inquiry there'
放置为灰色;
1.如果用户点击它,颜色将变为黑色,文本将变为''
。
1.如果用户键入然后删除(即保留字段为空),则我们需要将'Please, type your inquiry there'
以灰色重新放入。
步骤(3)在Chrome和Firefox中都不起作用。它什么也不显示。当我使用Chrome检查器时,它显示:
element.style { color:rgb(141,141,141); }
这是正确的,和"Please, type your inquiry there"
在HTML中,这也是正确的。但该字段是空的。可能是什么问题?我专门使用了console.log()
,他们也显示输出,应该是.
这是HTML和JS代码:
<textarea name='contact_text' id='contact_text'
onclick='text_area_text_cl();' onBlur='text_area_text_fill();'>
</textarea>
<script>
var contact_text_changed = false;
var contact_contacts_changed = false;
function text_area_text()
{
if (contact_text_changed == false)
{
$("#contact_text").css("color","#8d8d8d");
$("#contact_text").html('Please, type your inquiry there');
}
else
{
$("#contact_text").css("color","#000000");
}
// Write your code here
};
function text_area_text_cl()
{
if (contact_text_changed == false)
{
$("#contact_text").text('');
$("#contact_text").css("color","#000000");
console.log('sdfdfs111');
contact_text_changed = true;
}
};
function text_area_text_fill()
{
if ($("#contact_text").val() == '')
{
contact_text_changed = false;
$("#contact_text").css("color","#8d8d8d");
$("#contact_text").html('Please, type your inquiry there');
//document.getElementById('contact_text').innerHTML = 'Please, type your inquiry there'
console.log('sdfdfs');
}
else
{
console.log('__');
}
};
// call functions to fill
text_area_text();
</script>
字符串
1条答案
按热度按时间dojqjjoe1#
要设置
<textarea>
的值,您需要使用.val()
:字符串
或
型
等。让“占位符”代码正常工作是很棘手的。较新的浏览器允许:
型
他们会帮你打理一切
.html()
可以工作(好吧,它确实可以工作,但请继续阅读)。<textarea>
元素的标记内容-也就是说,元素中包含的DOM结构-表示<textarea>
的 * 初始 * 值。(和/或在JavaScript触及DOM的“value”属性之前),这就是显示为字段值的内容。更改DOM的这一部分,然后,更改初始值。一旦有一些用户交互,然而,初始值不再与页面视图相关,所以不显示。只显示更新后的值。