已超出字数这个位置不会复位

已超出字数这个位置不会复位

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>输入文本</title>
</head>
<body>
<p>字数限制在30字内,<span>您还可以输入<b>30</b> 字</span></p>
<textarea cols="50" rows="7" id="text"></textarea>
<script type="text/javascript">
//补充代码
//取到文本域
var te = document.getElementById('text');
//取到字数变化的位置
var word = document.getElementsByTagName('b')[0];
//取到显示变化位置
var sp = document.getElementsByTagName('span')[0];
//定义变量为30
var count = 30;

//监听事件
te.onkeyup = function(){
//定义输入文本长度
var len = te.value.length;
word.innerText = count - len;
if(count - len < 0){
var number_1 = len - count;
sp.innerText = '已经超出'+number_1 +'字';
}
}
</script>
</body>
</html>​

请问下,即使删除了多余的字数也只会显示已超出字数,需要怎么调整?

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

2回答
好帮手慕言 2021-06-09 09:58:34

同学你好,有没有输入空格呀?输入空格的话也是会计算的。鼠标放在输入框最左侧,按住鼠标左键往后滑动,如果和下方一样有蓝色的,那就是输入了空格。

http://img1.sycdn.imooc.com//climg/60c01f1d0961b7cf01610111.jpg


如果没有输入空格的话,建议把代码粘贴上来,并详细说明下是如何测试的。

另外:修改之后,如果超出字数之后,提示文字如下:

http://img1.sycdn.imooc.com//climg/60c01b6e09a2c33e02180048.jpg

如果不想有上图红线中的字,可以修改如下:

<!DOCTYPE html>
<html>

<head>
<meta charset="UTF-8">
<title>输入文本</title>
</head>

<body>
<p>字数限制在30字内,<span>您还可以输入<b>30</b> 字</span></p>
<textarea cols="50" rows="7" id="text"></textarea>
<script type="text/javascript">
//补充代码
//取到文本域
var te = document.getElementById('text');
//取到字数变化的位置
var word = document.getElementsByTagName('b')[0];
//取到显示变化位置
var sp = document.getElementsByTagName('span')[0];
//定义变量为30
var count = 30;

//监听事件
te.onkeyup = function () {
//定义输入文本长度
var len = te.value.length;
if (count - len < 0) {
sp.innerHTML = '已经超出<b>' + (len - count) + '</b> 字';
} else {
console.log(count - len)
sp.innerHTML = '您还可以输入<b>' + (count - len) + '</b> 字';
}

}
</script>
</body>

</html>

​祝学习愉快~

好帮手慕言 2021-06-08 18:57:55

同学你好,如果超出字数之后,是给span标签赋值,这样做会让b标签消失,就不能再给b赋值了。建议:超出字数之后,给b标签赋值,如下:
http://img1.sycdn.imooc.com//climg/60bf4d1f09c561e906810189.jpg

祝学习愉快~

  • 提问者 慕尼黑9422427 #1
    即使是文本域是空白还是会显示已超出字数http://img1.sycdn.imooc.com//climg/60bf55cb09aea40704500201.jpg
    2021-06-08 19:34:42
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师