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