1

私は JavaScript を初めて使用し、ここでスレッドを検索していますが、フォームが検証を適切に実行していない理由がわかりません。問題を見つけるためにアラートを追加しようとしましたが、最初の IF ステートメントのどこかにあるようです。何か案は?ありがとう!

<script type="text/javascript">

function dataCheck()
{
        var firstName = document.getElementById("firstName").value;
        var firstName = document.myForm.firstName.value;
        var lastName = document.getElementById("lastName").value;
        var facilitator = document.getElementById("facilitator").value;
        //validate firstName field for minimum of 2 characters
        if (firstName.length < 2){
            alert("Please enter a first name with a minimum of 2 characters");
            return false;
        }
        else {retvalue = true}
        //validate lastName field for min length and numeric or alpha characters only
        if (lastName.length < 2 || lastName.){
            alert("Please enter a last name with a minimum of 2 characters");
            return false;
        }
        if( /[^a-zA-Z0-9]/.test(lastName) ) {
            alert("Last name must be alphanumeric.");
            return false;
        }
}

</script>

<form action="http://bucs601.com/submit.php" name="myForm" onsubmit="return dataCheck()" method="post">
              First name: <input type="text" id="firstName" name="firstName"><br>
              Last name: <input type="text" id="lastName" name="lastName"><br>
              Email: <input type="text" id="email" name="email"><br>
              Facilitator: <input type="text" id="facilitator" name="facilitator">
              <input type="submit" id="submit" value="Submit">
</form>
4

2 に答える 2

1

私が見ることができる明らかなエラーの 1 つは、不完全な行です。

if (lastName.length < 2 || lastName.){

2番目の条件は何ですか?「|| lastName」を削除すると。少し機能は正常に動作しているようです。

于 2013-02-11T05:58:18.447 に答える
0

このようにする必要があります:

交換if (lastName.length < 2 || lastName.){

if (lastName.length < 2 || lastName){

削除し.ます。

于 2013-02-11T05:57:19.730 に答える