-1

ほとんどのタイトルはすべて正常に動作しますが、問題は、送信を押すと、JavaScript 関数が返された場合でも PHP 関数が呼び出されることfalseです。

<script >
    function validateForm(){
        var formData = document.forms["Signup Form"]["FirstName"].value;
        var div = document.getElementById("FirstNameDiv")
        if(formData==null || formData=="")
        {
            div.innerHTML = "<p>" + "invalid" + "</p>"
            return false;
        }
        return true;
    }
</script>

<form name="Signup Form" method="POST" action="<?php echo     htmlspecialchars($_SERVER["PHP_SELF"]);?>" onsubmit="return validateForm();" ) ">
4

3 に答える 3

0

div.innerHTML を設定した後にセミコロンがないため、コードが失敗し、false が返されません。試す:

if(formData==null || formData=="")
{
    div.innerHTML = "<p>" + "invalid" + "</p>";
    return false;
}

よく見ると、div 宣言にもセミコロンがありません。

var div = document.getElementById("FirstNameDiv"); #< Added semicolon
于 2013-11-06T18:51:42.140 に答える
0

これは、フォームで使用する送信ボタンです。false を返す場合は関数を呼び出し、投稿しないでください。

<input type="submit" value="Send" id="sbmt" onclick=" return validateForm()"/>
于 2013-11-06T18:51:56.097 に答える
0

var div = document.getElementById("FirstNameDiv")前後にセミコロンがありませんdiv.innerHTML = "<p>" + "invalid" + "</p>"

また、) ">単に>

false を返していることをどうやって知ることができますか? validateForm()コンソールから呼び出してこれを確認しましたか?

于 2013-11-06T18:52:26.453 に答える