试图改变display = none来阻止功能

时间:2013-07-24 19:30:39

标签: html css

我无法弄明白为什么这不起作用。如果我发出警报它可以工作,但是当我想要更改显示时它不起作用。

<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>

1 个答案:

答案 0 :(得分:0)

不应该像提交的那样从提交按钮的onclick事件中调用验证函数。相反,它应该从表单标记的onsubmit事件调用,如<form name="MYPage" onsubmit="return validatesForm();">。在函数调用之前还要注意单词return,它会获取验证函数的布尔结果并使用它来决定是否提交。

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