请老师检查

来源:3-9 编程练习

嘟嘟苏

2020-06-28 00:18:16

<!DOCTYPE html>

<html>

<head>

    <meta charset="UTF-8">

    <title>Document</title>

    <style type="text/css">

        form{

            width:300px;

            background:pink;

            text-align: center;

            padding:30px 0;

            margin:100px auto;

        }


    </style>

</head>

<body>

    <form id="form">

        <p><input type="text" name="name" id="username" placeholder="请输入账户名"></p>

        <span></span>

        <p><input type="text" name="chinaName" id="chinaName" placeholder="请输入中文名"></p>

        <span></span>

        <p><input type="email" name="eamil" id="email" placeholder="请输入邮箱"></p>

        <span></span>

        <p><input type="submit" value="注册" id="submit"></p>

    </form>

    <script type="text/javascript">

        var spans=document.getElementsByTagName("span");

        var username=document.getElementById("username");

     var chinaName=document.getElementById("chinaName");

     var email=document.getElementById("email");

     var submit=document.getElementById("submit");

     var input1=false;

     var input2=false;

     var input3=false;

     username.onfocus = function(){

         if(this.value == ""){

             spans[0].innerHTML = "请输入6-12位的数字,字母,下划线";

         }

     }

     username.onblur = function(){

         var pattern = /^\w{6,12}$/;

         if(this.value == ""){

              spans[0].innerHTML = "不能为空";

         }else{

             if(!pattern.test(username.value)){

                 spans[0].innerHTML = "格式不正确";

             }else{

                 spans[0].innerHTML = "格式正确";

                 input1 = true;

             }

         }

     }

     chinaName.onfocus = function(){

         if(this.value == ""){

             spans[1].innerHTML = "请输入中文名字";

         }

     }

     chinaName.onblur = function(){

         var pattern = /^[\u4e00-\u9fa5]{2,4}$/;

         if(this.value == ""){

             spans[1].innerHTML = "名字不能为空";

         }else{

             if(!pattern.test(this.value)){

                 spans[1].innerHTML = "格式不正确"

             }else{

                 spans[1].innerHTML = "格式正确";

                  input2 == true

             }

         }

     }

     email.onfocus = function(){

         if(this.value == ""){

             spans[2].innerHTML = "请输入邮箱";

         }

     }

     email.onblur = function(){

         var pattern = /^\w+@\w+\.[a-zA-Z_]{2,4}(?:\.[a-zA-Z]{2,3})?$/;

         if(this.value == ""){

             spans[2].innerHTML = "邮箱不能为空";

         }else{

             if(!pattern.test(this.value)){

                 spans[2].innerHTML = "格式不正确"

             }else{

                 spans[2].innerHTML = "格式正确";

                  input3 == true

             }

         }

     }

     submit.onclick = function(){

         if(input1 == true && input2 == true && input3 == true){

             alert("提交成功");

         }else{

             alert("请输入正确");

         }

     }

    </script>

</body>


</html>


写回答

1回答

好帮手慕久久

2020-06-28

同学你好,代码中有如下问题:

1. 输入框中什么都不输入,直接点击“注册”按钮,会弹出“请输入正确”的弹框,点击弹框上的“确定”按钮,会刷新一下页面。

这是由于提交表单时,表单有默认的刷新行为,可以使用“return false”禁掉该默认行为,不让页面刷新,如下:

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

2. 代码存在书写错误,变量赋值要写成“=”,不是“==”,如下:

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

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

3. 全部输入正确后,再修改其中一项不符合验证规则,还可以提交成功:

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

原因是没有在验证不通过时,修改对应变量为false,以username为例,修改如下:

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

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

0

0 学习 · 14456 问题

查看课程