老师帮忙看一下
来源:4-5 编程练习
qq_慕尼黑1376657
2019-06-02 22:48:23
<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title>输入文本</title>
</head>
<body>
<p>字数限制在30字内,<span id="high">您还可以输入<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');
count.style.fontWeight='bold';
var total=30;
text.onkeyup=function(){
var len=text.value.length;
var allow=total-len;
if(allow>=0){
count.innerHTML=allow;
}else if(allow<0){
var high=document.getElementById('high');
var exceed=Math.abs(allow);
high.innerHTML='您已超出'+exceed+'字';
}
}
</script>
</body>
</html>
请问老师,为什么把len和allow写在键盘事件外面不可以呢
1回答
好帮手慕慕子
2019-06-03
同学你好,请问你是指直接将下面这两句代码放在键盘事件外吗?如果是指这里的话, 那么是因为每一次输入的时候输入框中的值都会发生改变, 如果将这两句代码放在外边, 那么在输入框的内容发生改变的时候, len和allow值不会发生改变了
var len = text.value.length; var allow = total - len;
如果同学指的不是这里,建议: 可以详细的描述一下指的是哪里, 再次提问,我们会继续为你解答的
另, 经过测试 , 当输入内容超出 , 然后在删除内容 , 内容小于限制个数时 ,提示信息没有改变

因为在超出的时候,改变了html的结构,超出之后,就没有b这个元素了,建议:可以直接给span赋值,另。 可在键盘事件外获取span标签对象

如果帮助到了你, 欢迎采纳!
祝学习愉快~~~
相似问题