我希望在运行某个函数时显示alert
,并且该函数中的if语句发现<textarea>
中没有文本。我试过了:
<textarea rows="10" style="display: block;"id="textLoc" placeholder="Text to test"cols="50"></textarea>
text = document.getElementById('textLoc').value;
if (text == "") {
//show alert
}
但它不起作用。有什么想法吗?
更新:我尝试在警报中打印<textarea>
的值,并将值显示为未定义。然后我尝试了typeof text == "undefined"
,但它也没有用。
答案 0 :(得分:3)
Javascript非常灵活。尝试:
if (text) {
...
}
答案 1 :(得分:3)
如果<textarea>
元素实际存在,value
将为""
(空字符串),如果其中没有文字。根据您对其他答案的评论,“无法读取null属性”意味着document.getElementById('textLoc')
返回null
:确保元素的ID正确无误。
答案 2 :(得分:2)
您在HTML中的id
属性之前缺少空格,这就是为什么id
未设置的原因,因此您无法通过该ID获取元素。
如果你得到“无法读取属性'的'null',那么这就意味着没有带有该ID的元素(即getElementById返回null)。如果textarea实际存在,则空值为''
。为了防止您访问null属性的错误:
var textarea = document.getElementById('textLoc');
if (textarea && textarea.value) ...
答案 3 :(得分:1)
此代码:
<textarea rows="10" style="display: block;"id="textLoc"
placeholder="Text to test"cols="50">
不正确。
标签应该关闭:
<textarea rows="10" style="display: block;"id="textLoc"
placeholder="Text to test"cols="50"/>