0

だから私はJavaScriptで物事をチェックするこの登録フォームを持っています。正しい入力があると色が変わるようにしました。すべての netrys が正しければ、送信ボタンが表示されるようにします。しかし、問題は、私が最後のテキストボックスにいるときに、コードを実行するためだけに別のテキストボックスをクリックする必要があるため、追加のチェックボックスを追加して、ユーザーがこれをチェックする必要があり、問題がないことを検証して送信ボタンを表示することです。 . しかし、このチェックボックスを追加すると、スクリプト全体が機能しなくなります。

<script>
        function start(){
            var element=document.getElementById("name");
            element.style.background="yellow";
            element=document.getElementById("pass1");
            element.style.background="yellow";
            element=document.getElementById("pass2");
            element.style.background="yellow";
            element=document.getElementById("email");
            element.style.background="yellow";
            document.getElementById('button').style.visibility='hidden';
        }
        function check(obj,form){
            var check=0;
            var data1=form.pass1.value;
            var data2=form.pass2.value;
            var element=document.getElementById("pass1");
            var element2=document.getElementById("pass2");
            if(data1==data2 && data1!=null && data2!=null && data1!='' && data2!=''){
                element.style.background="green";
                element2.style.background="green";
                check++;
            }
            element=document.getElementById("name");
            data1=form.name.value;
            if(data1==null || data1==''){
                element.style.background="yellow";
            }
            else{
                element.style.background="green";
                check++;
            }
            element=document.getElementById("email");
            data1=form.email.value;
            var atpos=data1.indexOf("@");
            var dotpos=data1.lastIndexOf(".");
            if(atpos<1 || dotpos<atpos+2 || dotpos+2>=data1.length){
                element.style.background="yellow";
            }else{
                element.style.background="green";
                check++;
            }
            if(check==3){
                document.getElementById('button').style.visibility='visible';
            }else{
                document.getElementById('check').checked=false;
            }
            obj.style.background="yellow";
        }
    </script>
</head>
<body onload="start();">
    <div id="register">
    <form name="login" action="logon.php" method="post">
        Username:<input id="name" onfocus="check(this,this.form)" name="username" type="text" size="14"/><br>
        Password:<input id="pass1" onfocus="check(this,this.form)" name="password1" type="password" size="14"/><br>
        Repeat Password:<input id="pass2" onfocus="check(this,this.form)" name="password2" type="password" size="14"/><br>
        Email:<input id="email" onfocus="check(this,this.form)" name="email" type="text" size="14"/><br>
        Validate<input id="check" onfocus="check(this,this.form)" type="checkbox"/><br>
        <input type="submit" id="button" name="submit" value="Register"/>
    </form>
    </div> 
4

1 に答える 1