请老师检查

来源:4-5 编程练习

qq_慕先生0342934

2020-05-26 00:11:05

<!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 allow = document.getElementsByTagName("b")[0],

text = document.getElementById("text"),

tot = 30,

over = document.getElementsByTagName("span")[0];

text.onkeyup = function(){

if(tot > 0){

tot = 30 - text.value.length;

allow.innerHTML = tot;

}else{

tot = text.value.length - 30;

over.innerHTML = "您已超出" + tot + "字";

}

}

</script>

</body>

</html>


写回答

2回答

好帮手慕码

2020-05-27

同学你好,抱歉老师之前粘贴的图片是错误的,感谢同学帮助老师“捉虫”,老师以后回答问题会更加谨慎哦~

另,代码问题:

(1)是的,if应该判断动态的len。

(2)字数超出之后就没有b标签了。如下:

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

所以在回删之后,字数没有改变。建议修改如下:

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

把数字的改变放在span标签中去。

祝学习愉快~

0
hq_慕先生0342934
h 弄明白了,谢谢老师Thanks♪(・ω・)ノ
h020-05-27
共1条回复

好帮手慕码

2020-05-26

同学你好,代码效果有一些问题。当超出30个字的时候,点击两次删除键,上面的数字才会变化:

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

且,当删除数字到少于30的时候,文字显示如下:

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

建议修改:abs() 方法可返回数的绝对值

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

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

0
hq_慕先生0342934
h <!DOCTYPE html> <html> <head lang="en"> <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 allow = document.getElementsByTagName("b")[0], text = document.getElementById("text"), tot = 30, over = document.getElementsByTagName("span")[0]; text.onkeyup = function(){ var len = tot - text.value.length; if(len > 0){//这个地方应该是len>0吧,tot上面固定了是30,不会变,导致不会进入else分支, allow.innerHTML = len; }else{ over.innerHTML = "您已超出" + Math.abs(len) + "字";//删掉之后不能回到len>0的那个分支,还是显示超出多少,这个该怎么处理啊 } } </script> </body> </html>
h020-05-26
共1条回复

0 学习 · 40143 问题

查看课程

相似问题