0

機能はありますが、何が問題なのかわかりません。この関数は、HTML フォームで必要なフィールドを制御しますか?それらをフィールドに入れると、desktop2 と呼ばれる別のフォームに移動するように関数に指示します。そのため、非表示になっており、ボタンをクリックすると表示されます。私の問題は、必要なフィールドをすべて入力してボタンをクリックすると、2 番目のフォームに移動しますが、数秒以内に最初のフォームに戻ることです...どうすればよいでしょうか..助けてください。 ..

 function displayform2() {
               /*For desktop*/
           var inputs = [document.getElementById('firstname1'), document.getElementById('lastname1'),document.getElementById('cel1'), document.getElementById('email1'), ];
            var nr=0;/*to keep the number of fields empty*/
            for(var i = 0; i<inputs.length; i++)
                if(inputs[i].value == ''){
                 nr++; }
        if (document.getElementById('desktop1').style.display=='block') {

            if (nr>0) {

                document.getElementById('totalfield1').style.display = 'block';
            }
            else{
                    document.getElementById('desktop1').style.display='none';
                    document.getElementById('desktop2').style.display='block';
            document.getElementById('desktop3').style.display='none';}

        }

これは、必要なフィールドが入力されていない場合に表示されるメッセージですが、

<span class="errorcolor" id="totalfield1" style="display: none" >
                <p>Please complete all the required fields</p>
                    </span>

<input type="button" value="Proceed"  id="submit1" onclick="displayform2()" class="button" style=" margin-top: -40px;margin-left: 60%;width: 25%" disabled>

function displayform2() { /デスクトップ用/

        if (document.getElementById('desktop1').style.display=='block') {


            else{
                    document.getElementById('desktop1').style.display='none';
                    document.getElementById('desktop2').style.display='block';
            document.getElementById('desktop3').style.display='none';}

        }

このように使用すると、すべて問題ありません..ボタンを押すと他のフォームに移動しますが、必要なフィールドのコントロールを追加すると問題が発生します..ボタンを押すと、他のフォームに一瞬だけ移動しますその後、最初のフォームで数秒以内に再び私を返します

4

0 に答える 0