0

なぜこれが機能しないのか、一生わかりません。アラートを設定すると機能しますが、表示を変更したいときに機能しません。

<script> 
function validatesForm() {
        var x=document.forms["MYPage"]["name"].value;
        if (x == null || x == "") 
        {
            document.getElementById("errorname").style.display="block";
            return false;
        }

    }
    </script>
</head>
<body>

<form name="MYPage">
Name:
    <input type="text" name="name" />&nbsp&nbsp&nbsp <p id="errorname"  style="color:red;       display:none;">Please fill out this field</p>

    <input type="submit" value="Validate!" onclick="validatesForm()">
</form>
4

1 に答える 1

0

あなたが持っているように、検証関数は送信ボタンのonclickイベントから呼び出されるべきではありません。代わりに、 のような form タグの onsubmit イベントから呼び出す必要があります<form name="MYPage" onsubmit="return validatesForm();">。また、関数呼び出しの前の単語にも注意してreturnください。これは、検証関数のブール値の結果を取得し、それを使用して送信するかどうかを決定します。

これは良いチュートリアルと例です: http://w3schools.com/js/js_form_validation.asp

于 2013-07-24T20:55:13.313 に答える