機能はありますが、何が問題なのかわかりません。この関数は、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';}
}
このように使用すると、すべて問題ありません..ボタンを押すと他のフォームに移動しますが、必要なフィールドのコントロールを追加すると問題が発生します..ボタンを押すと、他のフォームに一瞬だけ移動しますその後、最初のフォームで数秒以内に再び私を返します