麻烦老师检查一下问题

来源:4-11 编程练习

wan520

2021-10-21 15:11:35

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>onblur和onfocus</title>
    <style type="text/css">
        .red{
     border:1px solid red;
     }
    </style>
</head>
<body>
姓名:<input type="text" id='name'> <span></span>
<script type="text/javascript">
// 补充代码
var name=document.getElementById('name');
var span=document.getElementsByTagName('span')[0];
name.onfocus=function(){
    if(name.value==''){
        span.innerText='请输入您的姓名';
         name.className='';
    }else{
        span.innerText='';
    }
}
name.onblur =function(){
    if(name.value==''){
        span.innerText='用户名不能为空';
        name.className='red';
    }else{
        span.innerText='';
        name.className='';
    }
}
</script>
</body>
</html>


写回答

1回答

好帮手慕小李

2021-10-21

同学你好,你碰到了一个JavaScript的小坑,在全局声明name变量,是不可以的,因为name是JavaScript的内置属性,也就是说javaScript不让咱们用,所以我们在声明变量时尽量避免用到name。

https://img.mukewang.com/climg/61711e9b096dd9ec05730065.jpg

下面的图中分号用的是中文的分号,所以报错,会影响到程序的运行。

https://img.mukewang.com/climg/6171201709878cf704350215.jpg

更改建议如下,红色部分改过来即可,老师把你之前声明的name变量名换成了userName。

https://img.mukewang.com/climg/61711ed9095871cb05890637.jpg

祝学习愉快~

0

前端工程师

前端入门如同写字,如果你不知道从哪开始,那就选择前端(含Vue3.x,React17,TS)

20327 学习 · 17877 问题

查看课程