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 事件调用验证函数。相反,它应该从表单标签的 onsubmit 事件中调用,例如<form name="MYPage" onsubmit="return validatesForm();">. 还要注意函数调用之前的单词return,它获取验证函数的布尔结果并使用它来决定是否提交。

这是一个很好的教程和示例:http ://w3schools.com/js/js_form_validation.asp

于 2013-07-24T20:55:13.313 回答