案例中是怎么做到如果有错误信息就自动刷新页面的?

来源:3-9 编程练习

宝慕林3013065

2020-06-12 16:53:13

<!DOCTYPE html>
<html lang="en">
<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.onblur = function(){
            var reg = /^\w{6,18}$/;
            spans[0].innerHTML = '请输入6-18位字母、数字、下划线';
            if(!reg.test(username.value)){
                spans[0].innerHTML = '格式不正确';
            }else{
                spans[0].innerHTML = '';
                input1 = true;
            }
        }
        username.onfocus = function(){
            spans[0].innerHTML = '请输入6-18位字母、数字、下划线';
        }
        
        chinaName.onblur = function(){
            var reg = /^[\u4e00-\u9fa5]{2,4}$/;
            spans[1].innerHTML = '请输入2-4位中文';
            if(!reg.test(chinaName.value)){
                spans[1].innerHTML = '格式不正确';
            }else{
                spans[1].innerHTML = '';
                input2 = true;
            }
        }
        chinaName.onfocus = function(){
            spans[1].innerHTML = '请输入2-4位中文';
        }
        
        email.onblur = function(){
            var reg = /^\w+@\w+\.[a-zA-Z]{2,4}$/;
            spans[2].innerHTML = '请输入邮箱';
            if(!reg.test(email.value)){
                spans[2].innerHTML = '格式不正确';
            }else{
                spans[2].innerHTML = '';
                input3 = true;
            }
        }
        email.onfocus = function(){
            spans[2].innerHTML = '请输入邮箱';
        }
        
        submit.onclick = function(){
            if(input1==false || input2==false || input3==false){
                alert('您输入的信息有误!');
            }else{
                alert('注册成功!');
            }
        }
    </script>
</body>


写回答

1回答

好帮手慕言

2020-06-12

同学你好,本编程题提供的效果图没有自动刷新页面呦。

另外,测试同学提供的代码,第一次输入正确的内容,再修改为错误的,点击注册,会提示注册成功,如下:

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

原因是在验证时匹配正确了之后,就把标识符修改为了true,在验证时匹配错误之后没有修改为false,以第一个为例,修改如下

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

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

0

0 学习 · 14456 问题

查看课程