jQuery检测textarea是否为空

den*_*icz 44 jquery

我试图确定如果用户使用jQuery删除已在textarea中预先填充的内容,textarea是否为空.

无论如何要做到这一点?

这就是我所拥有的,而且它不起作用

$(textarea).live('change', function(){
            if($(this).val().length == 0) {
                $(submitButtonClass).addClass('disabled_button');
                $(submitButtonClass).removeClass('transSubmit');
            } else {
                $('.disabled_button').addClass('transSubmit').css({
                    'cursor':'pointer'
                }).removeClass('disabled_button');
            }
        });
Run Code Online (Sandbox Code Playgroud)

And*_*y E 94

if (!$("#myTextArea").val()) {
    // textarea is empty
}
Run Code Online (Sandbox Code Playgroud)

您还可以使用$.trim以确保元素不仅包含空格:

if (!$.trim($("#myTextArea").val())) {
    // textarea is empty or contains only white-space
}
Run Code Online (Sandbox Code Playgroud)

  • 在chrome中为我工作 (4认同)
  • 在Firefox中工作,在chrome中不起作用 (3认同)

Ill*_*u36 8

if (!$.trim($("element").val())) {

}
Run Code Online (Sandbox Code Playgroud)


Bra*_*y79 5

我知道你很久没有得到解决方案了。所以,这是给那些过来看看其他人如何解决同样常见问题的人——比如我。

问题和答案中的示例表明了 jQuery 的使用,我正在使用 .change listener/handler/whatever 来查看我的 textarea 是否更改。这应该处理手动文本更改、自动文本更改等以触发

//pseudocode
$(document).ready(function () {
    $('#textarea').change(function () {
        if ($.trim($('#textarea').val()).length < 1) {

            $('#output').html('Someway your box is being reported as empty... sadness.');

        } else {

            $('#output').html('Your users managed to put something in the box!');
            //No guarantee it isn't mindless gibberish, sorry.

        }
    });
});
Run Code Online (Sandbox Code Playgroud)

似乎适用于我使用的所有浏览器。http://jsfiddle.net/Q3LW6/。当 textarea 失去焦点时显示消息。

更新、更全面的例子: https : //jsfiddle.net/BradChesney79/tjj6338a/

使用和报告 .change()、.blur()、.keydown()、.keyup()、.mousedown()、.mouseup()、.click()、mouseleave() 和 .setInterval()。


Chr*_*ken 3

您只需要获取 texbox 的值并查看其中是否有任何内容:

if (!$(`#textareaid`).val().length)
{
     //do stuff
}
Run Code Online (Sandbox Code Playgroud)