4-3编程问题,请老师帮我看下哪写错了,我找了好久没找出来

4-3编程问题,请老师帮我看下哪写错了,我找了好久没找出来

<p>字数限制在30字内,<span in="spans">您还可以输入<b id="bbb">30</b> 字</span></p>
        <textarea cols="50"  rows="7"  id="text"></textarea>
        <script type="text/javascript">
            var text=document.getElementById("text");
            var bbb=document.getElementById("bbb");
            var spans=document.getElementById("spans");
            var totle=30;
            document.onkeyup=function(){
                var len=text.value.length;
                if(len>=30){
                    spans.innerHTML="您已经超出范围";
                }else{
                    bbb.innerHTML=totle-len;
                }
            }
        </script>


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

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

3回答
提问者 cjdd 2017-09-08 17:58:18
<p>字数限制在30字内,<span in="spans">您还可以输入<b id="count">30</b> 字</span></p>
<textarea cols="50"  rows="7"  id="text"></textarea>
<script type="text/javascript">
    var text=document.getElementById("text");
    var count=document.getElementById("count");
    var spans=document.getElementById("spans");
    var total=30;
    document.onkeyup=function(){
        var len=text.value.length;
        var row=total-len;
        count.innerHTML=row;
        if(row<0){
            spans.innerHTML="您已超出"+(len-total)+"字";
        }else{
            count.innerHTML=total-len;
        }
    }
</script>

修改过后,还是有同样的问题

提问者 cjdd 2017-09-08 17:08:54

我写的这个代码,运行了以后,输入内容超出30个字JS就会报错  

Cannot set property 'innerHTML' of null  at HTMLTextAreaElement.text.onkeyup 


  • 你没有判断字体超出啊 num.innerHTML=row; if(row<0){//判断字体是否超出 span.innerHTML="您已超出"+(len-total)+"字"; }你的这种写法本身就是错的if(len>=30){ spans.innerHTML="您已经超出范围"; }else{ bbb.innerHTML=totle-len; }
    2017-09-08 17:33:13
卡布琦诺 2017-09-08 16:52:16

你缺少对输入的字是否超出的判断。建议参考这个来写:

text.onkeyup=function(){//文本域绑定按键被松开时的事件
				var len=text.value.length;//按键每松开一次获取一次文本域值的长度
				var row=total-len;//剩余字数=可输入总字数-已输入值的长度
				num.innerHTML=row;
				if(row<0){//判断字体是否超出
					span.innerHTML="您已超出"+(len-total)+"字";
				}

			}

希望可以帮到你!

问题已解决,确定采纳
还有疑问,暂不采纳

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

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

0 星
前端小白入门系列课程
  • 参与学习           人
  • 提交作业       11218    份
  • 解答问题       36713    个

从一个不会编程的小白到一个老司机是需要过程的,首先得入门,学习基础知识,然后才能进阶,最后再到精通,本专题是你走进前端世界的不二选择!

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

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