0

フォームの検証に JavaScript を使用していますが、送信後、コードが false を返した後もフォームは送信されます。見つけた他のトピックで「修正」を使用しましたが、フォームは引き続き送信されます。

これが私のコードです:

function CheckFormi() {
    var lh = document.getElementById('op').value;
    var ph = document.getElementById('oc').value;
    var lb = document.getElementById('dp').value;

    if (lh == "País" || ph == "Codiga postal" || lb == "País") {
        if (lf == "País") {
            document.getElementById('op').style.border = "solid 1px #FF0000";
        }
        if (ph == "Codiga postal") {
            document.getElementById('oc').style.border = "solid 1px #FF0000";
        }
        if (lb == "País") {
            document.getElementById('dp').style.border = "solid 1px #FF0000";
        }
        alert('error');
        return false;
    } else {
        document.getElementById('a').submit();
    }
}

これは私が関数を呼び出す方法です:

<form action="processor.php" method="post" id="a" onsubmit="return CheckFormi()">\

どんな助けでも大歓迎です、

前もって感謝します!

4

2 に答える 2

1

この行にエラーがあります:

if (lf == "País") {

変数lfが存在しない可能性があります ( lh? の可能性があります)。これは、アラートが表示されない理由を説明している可能性があります。

于 2013-11-02T10:36:20.830 に答える
1

「event.preventDefault();」を使用する必要があるかもしれません。「return false;」の代わりに。つまり、event.returnValue = false; を使用する必要があります。

于 2013-11-02T10:36:56.100 に答える