如果<textarea>中没有文本,那么它的价值是什么?</textarea>

时间:2010-11-06 00:30:30

标签: javascript textarea

我希望在运行某个函数时显示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",但它也没有用。

4 个答案:

答案 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"/>