4-3问题

4-3问题

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Document</title>
<style type="text/css">
em{font-style: normal;}
</style>
</head>
<body>
<div>
<p id="tip">您还可以输入<span><em id="word">30</em>/30</span></p>
<div class="input">
<textarea name="" id="text" cols="70" rows="4"></textarea>
</div>
</div>
<script type="text/javascript">
// 获取文本框
var tip=document.getElementById("tip");
var total=30;
// 绑定键盘事件
document.onkeyup=function(){
// 获取文本框的长度
var len=text.value.length; 
var num1=total-len;
var num2=len-total;
 
if (len<=total) {
           document.getElementById("word").innerHTML=num1;
           tip.innerHTML="您还可以输入"+"<b>"+num1+"</b>"+"/30"+"字"; 
          } 
          else{
            tip.innerHTML="你已超出"+"<b>"+num2+"</b>"+"字"; 
   
          }
}
</script>
</body>
</html>


为何我现在输了没反应,删了也没反应?代码又错了???

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

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

2回答
提问者 OlafChou 2017-07-16 11:13:36
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Document</title>
<style type="text/css">
#tip span{font-weight: bold;color:#f00;}
em{font-style: normal;}
</style>
</head>
<body>
<div>
<p id="tip">您还可以输入<span><em >30</em>/30</span></p>
<div class="input">
<textarea name="" id="text" cols="70" rows="4"></textarea>
</div>
</div>

<script type="text/javascript">
// 获取文本框
var tip=document.getElementById("tip");
var total=30;
// 绑定键盘事件
document.onkeyup=function(){
// 获取文本框的长度
var len=text.value.length; 
var num1=total-len;
var num2=len-total;

if (len<=total) {
            tip.innerHTML="您还可以输入"+"<b>"+num1+ "/30"+"</b>"+"字";
          } 
          else{
            tip.innerHTML="你已超出"+"<b>"+num2+"</b>"+"字"; 
  
          }
}
</script>
</body>
</html>

你看看这个代码,并没有获取过text,照样可以?这是为啥

DD670 2017-07-16 10:51:49

代码24行的len无法获取 因为前面根本没有获取过text

  • 提问者 OlafChou #1
    你看看我的留言
    2017-07-16 11:14:00
  • DD670 回复 提问者 OlafChou #2
    第一次留言的代码运行后第29行报错 报错信息:Uncaught TypeError: Cannot set property 'innerHTML' of null at HTMLDocument.document.onkeyup 。测试了一下:29行代码document.getElementById("word")不能在onkeyup事件里获取,将document.getElementById("word")提升到事件外获取可运行 第二次代码没有获取text但也能用这个我也没弄懂 第一次没做具体测试抱歉
    2017-07-16 11:47:53
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

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

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

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

在线咨询

领取优惠

免费试听

领取大纲

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