1

私は JavaScript が初めてで、問い合わせフォームに問題があります。

2 つの if ステートメントがあり、2 番目のステートメントの最後で false を返しますが、これを実行すると、両方のフィールドが空になり、エラー メッセージが表示され、メールが送信されません。しかし、2 番目の入力フィールドにのみ情報を入力すると、最初のフィールドが空であっても、フォームが入力されたと見なされます。

if ステートメントのいずれかが false の場合、メールの送信を停止するにはどうすればよいですか?

私のコード

function checkForm(){
    if   (streetAddress.value == "") {  
            addressErrorMsg.style.display="block";
    }
                        
    if   (fullname.value == "") {  
            nameErrorMsg.style.display="block";
     
       return false;
    }
    else{                       
       return true;
    }
}
4

2 に答える 2

1

状態を追跡し、最後に 1 つの return ステートメントを置きます。

function checkForm(){
    var isValid = true;
    if   (streetAddress.value == "") {  
            addressErrorMsg.style.display="block";
            isValid = false;
    }

    if   (fullname.value == "") {  
            nameErrorMsg.style.display="block";

       isValid = false;
    }
    return isValid;
}

そして、あなたのコードを見て、私はあなたが持っていることを願っています

var addressErrorMsg = document.getElementById("SomeId"); 

コードの上にあり、idを使用して要素を参照しているだけではありません。

于 2013-06-19T13:15:22.510 に答える
1
function checkForm(){
    var validate = true;
    if   (streetAddress.value == "") {  
            addressErrorMsg.style.display="block";
            validate = false;
    }

    if   (fullname.value == "") {  
            nameErrorMsg.style.display="block";
            validate = false;

    }
    return validate;
}
于 2013-06-19T13:13:28.630 に答える