3

我有这个代码,comment是 id textarea

<textarea id="comment">      </textarea>

js

var comment = $('#comment').val();
if(comment.length === 0){
    alert('empty');
    return;
}else{
    alert('not empty');
}

即使它是空的,它也给我不空。为什么是这样?我不能像这样检查,!=""因为空格会通过检查,然后我必须检查所有空格

请帮忙

4

4 回答 4

10

删除文本区域中的空间或修剪值

<textarea id="comment"></textarea>

或者

var comment = $.trim($('#comment').val());

顺便说一句,如果您在if不需要之后返回else

 var comment = $.trim($('#comment').val());
if(comment.length == 0){
    alert('empty');
    return;}

 alert('not empty');
于 2013-05-26T08:44:41.847 回答
3

我敢打赌,它的作用与您的预期相反,对吧?

我认为你需要研究它是如何工作的,即使这是一个逻辑问题。如果字符串的长度为 0,则为空,否则为空。

var comment = $.trim($('#comment').val());
if(comment.length === 0){
    alert('empty');
    return;
}
alert('not empty');
于 2013-05-26T08:43:49.297 回答
2

如果您trim()在检查其长度之前的值应该可以工作。

var comment = $.trim($('#comment').val());
if(comment.length !== 0) {
   ...
于 2013-05-26T08:43:22.677 回答
2

您需要在检查之前修剪值,并且可以在一行中完成

alert($.trim($('#comment').val()) == "" ? "Empty" : "Not Empty");
于 2013-05-26T08:49:13.113 回答