实现文本域下方显示输入文本长度 解决Uncaught ReferenceError错误
解决textarea字符计数的ReferenceError问题
嘿,我来帮你搞定这个字符计数的报错问题~你遇到的Uncaught ReferenceError: len is not defined主要有两个原因,咱们一步步来修正:
1. 变量未声明导致的报错
在JavaScript中,直接赋值给未声明的变量len,在严格模式下会抛出ReferenceError。你需要用let(推荐)或者var来声明这个变量:
let len = $(".form-control.rigDesc").val().length;
2. 选择器不匹配的潜在问题
你绑定keyup事件的元素是.form-control.description,但在计数函数里获取值的是.form-control.rigDesc——这两个类名明显不一致,大概率是笔误!得把它们改成统一的,比如都用.form-control.description或者都用.form-control.rigDesc。
修正后的完整代码示例
另外还要确保代码在DOM加载完成后执行,避免找不到元素的问题:
$(document).ready(function() { $(".form-control.description").keyup(countCharacters); function countCharacters() { // 统一选择器,声明变量 let len = $(".form-control.description").val().length; $(".remainChar").html("#" + len); } // 页面加载时先执行一次,显示初始长度 countCharacters(); });
这样修改后,不仅能解决ReferenceError的问题,还能保证选择器匹配,同时页面加载时就会显示初始的字符数,体验更好~
内容的提问来源于stack exchange,提问作者Carol.Kar
相关产品推荐
相关产品推荐

