1

条件が満たされた場合に P 要素にメッセージを表示する機能があります。関数は正常に実行されますが、ボタンを押すと「output1」に送信されるテキストが短時間表示され、その後消えます。JSを頭と体に入れてみましたが、違いはないようです。何か案は?ありがとう。

HTML:

<p id="output1"><p>

Javascript:

<script>
function logicProcess() {
    // alert('function launched');
    if(document.getElementById('q1Y').checked || document.getElementById('q2Y').checked || document.getElementById('q3Y').checked) {
        document.getElementById("output1").innerHTML = "Sorry, you don't qualify for our shared ownership properties";
        }
    else {
        document.getElementById("output1").innerHTML = "You may qualify for our shared ownership scheme. Please complete the registration form.";
        }
}       
</script>
4

2 に答える 2

4

innerHTML が表示されない理由は、フォームをリセットしているある種の onclick メソッドがあるためです。その場合は、onclick メソッドを次のように編集します。

onClick="function();return false;"

ここでの変更は ;return false; です。

于 2016-01-02T21:45:35.237 に答える
0

その関数をどのように呼び出しているかは示されていませんが、フォームの送信ボタンが押されたことに応答して呼び出している可能性があります。

これにより DOM が変更され、フォームが送信され、新しいページが読み込まれます。

フォームの送信を停止するには、フォームのデフォルトの動作をキャンセルする必要があります。

function logicProcess(evt) {
    // All your other code
    evt.preventDefault();
}
document.getElementById('myForm').addEventListener('submit', logicProcess);
于 2013-05-07T11:07:23.157 に答える