老师,帮忙看一下

来源:4-5 编程练习

Jeremy_Li7

2019-12-27 21:35:54

<!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 area=document.getElementById("text");
var b=document.getElementsByTagName("b")[0];
var total=30,len;
var span=document.getElementsByTagName("span")[0];
area.onkeyup=function(){
    len=area.value.length;
    if(0<=len && len<=30){
        b.innerHTML=total-len;
    }
    if(len>30){
        b.innerHTML=len-total;
        span.innerHTML="您已超过"+b.innerHTML+"字";
    }
}
</script>
</body>
</html>


写回答

1回答

好帮手慕糖

2019-12-28

同学你好,代码问题如下:

1、超出之后,再删除的话,提示回不到还可以输入的提示。如下:

http://img.mukewang.com/climg/5e06b5ea09427efb03560125.jpg

这是因为改变了结构,改变了html的结构,超出之后,就没有b这个元素,不能直接赋值,建议:输入的也可以对span赋值,例:

http://img.mukewang.com/climg/5e06b60a0919fdc006930115.jpg

2、这两个判断执行一个就好了,不会即小于等于30,又大于30的,建议:下面的可以使用else if

http://img.mukewang.com/climg/5e06b62f09299d2603580084.jpg

3、大于30这里,建议:不需要给b赋值了,直接设置给span即可,例:

http://img.mukewang.com/climg/5e06b66909282ce406960146.jpg

如果我的回答帮助到了你,欢迎采纳,祝学习愉快~

0

0 学习 · 40143 问题

查看课程