javascript - 如何检查文本区域的长度

标签 javascript jquery dom-events jquery-events

我试图计算文本区域的长度是否大于零,然后运行一段代码。由于某种原因我无法让它工作。我将不胜感激的帮助。

这是我的代码:

Javascript(包括jQuery):

$(document).ready(function () {
    if ($('.comments').val().length > 0) {
        $('form').attr('action', '?Email');
    }
});

HTML:

<form action="?AddToQuote" method="POST">
    <textarea name="comments" class="comments"></textarea>
    <input type="submit" value="submit" />
</form>

我尝试了很多不同的 JavaScript,但都不起作用。 HTML 页面加载后,Javascript if 语句是否运行?我确信 if 语句中的行在没有 if 语句的情况下也能工作,我已经测试过它。

最佳答案

每次更新文本区域内容时,您都需要执行该行。因此,您需要在 DOM 就绪事件上设置逻辑,但评估文本区域中每个内容更改的条件:

$( document ).ready( function() {

    var $comment = $('.comments');
    $comment.on( 'change', function( event ) {

        if( $('.comments').val().length > 0 ) {
            $( 'form' ).attr( 'action', '?Email' );
            $comment.off( 'change' );
        }

    } );

} );

根据@destroydaworld的建议,您还可以使用keyup event如果确实有必要,则应在用户输入每个字符后评估检查。这通常与字符计数结合使用。但就你而言 - 当你尝试添加一些 URL 参数时 - 我想听 change event 就足够了.

关于javascript - 如何检查文本区域的长度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19934492/

相关文章:

javascript - 如何在浏览器开始下载资源之前操作 DOM?

javascript - 了解 JavaScript 中的事件处理和回调

c# - 使用 ASP.Net 跟踪打开的页面

javascript - 使用 document.execCommand ("copy"复制电子邮件地址)

javascript - 为什么不能对 HTML 输入对象的值使用 toFixed?

javascript - 如何在 Google Picker 中显示 Google Drive 文件的指定文件夹?

jquery - 客户端验证 jquery 插件不起作用

javascript - iframe 链接问题

javascript - 如果您移动鼠标,则不会触发 onClick 事件

jquery - 使用填充拉伸(stretch) ul-li 菜单以适应整个宽度