这样效果对吗?老师

这样效果对吗?老师

<head lang="en">

    <meta charset="UTF-8">

    <title>onblur和onfocus</title>

    <style type="text/css">

        .fixe{

            outline:none;

            border:1px solid rgb(6868228);

        }

        .fixe1{

            border:1px solid red;

        }

    </style>

</head>


<body>

    姓名:

    <input type="text" id='text'><span id='span'></span>

    <script>

        var text = document.getElementById('text');

        var span = document.getElementById('span');

        text.onfocus = function () {

            if (text.value.length == 0) {

                span.innerText = '请输入您的姓名';

                text.className='fixe';

            }

        }

        text.onblur = function () {

            if (text.value.length > 0) {

                span.innerText = '';

                text.style.border='1px solid #ccc';

                

            } else if (text.value.length == 0) {

                span.innerText = '用户名不能为空';

                text.className='fixe1';

            }

        }

    </script>

</body>


</html>


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

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

1回答
好帮手慕然然 2021-06-19 14:01:41

同学你好,代码实现效果有点问题:当输入框输入内容,并失去焦点后,然后将输入框内容删除,再失去焦点,此时输入框内容为空,提示“用户名不能为空”,但边框颜色没有变为红色,如图所示:

http://img1.sycdn.imooc.com//climg/60cd877b09f365f003880073.jpg

http://img1.sycdn.imooc.com//climg/60cd87820978476504010126.jpg

原因:当输入框输入内容,并失去焦点时,执行了代码text.style.border = '1px solid #ccc';将边框属性以内联样式写在了input标签中;当将输入框内容删除变为空时,虽然会执行代码text.className = 'fixe1';给input标签设置红色边框,但是这段代码是以内部样式的方式设置的,其优先级要小于内联样式,所以边框颜色不会改变,如图

http://img1.sycdn.imooc.com//climg/60cd880a095db58514960318.jpg

建议:以内联的方式给input标签设置红色边框,参考如下

http://img1.sycdn.imooc.com//climg/60cd881e0908035007880557.jpg

祝学习愉快!

  • 提问者 激情的樱木花道 #1

    http://img1.sycdn.imooc.com//climg/60cd8d5709c2aad604950229.jpg

    老师,如果>0的时候,我不设置内联样式 而是像这样text.className='';不给样式 这样书写可以吗?

    另一个问题是text.style.border,这样书写是在开始标签中添加的行内样式?

    2021-06-19 14:37:45
  • 同学你好,这样书写是可以的。

    关于使用text.style.border给元素设置样式,是在开始标签中添加的行内样式,如图

    http://img1.sycdn.imooc.com//climg/60cd938109beeb4911200420.jpg

    祝学习愉快!

    2021-06-19 14:50:45
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

0 星
请稍等 ...
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

在线咨询

领取优惠

免费试听

领取大纲

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