验证失败时防止表单提交

时间:2014-03-16 09:56:03

标签: javascript jsp

验证失败时如何防止提交此内容?我不知道在validateForm函数中放什么......我有这样的形式:

<form action="ChangePassword" method="POST">  
    <input type="submit" value="Change Password" onclick="validateForm();"/>
</form>

validateform函数:

<script>
    function validateForm() {
        if(document.getElementById("passError").innerHTML !== "") {
            alert("There are some errors.");
            return false;
        }
    }
</script>

3 个答案:

答案 0 :(得分:1)

您需要从事件处理函数返回。

您目前只从validateForm返回,这是您从事件处理函数调用的函数。

onclick="return validateForm();"

良好的做法是:

  • 在提交时执行检查,而不是仅在单击提交按钮时执行检查(即在表单上使用onsubmit而不是按钮上的onclick
  • bind your event handlers with JavaScript,而不是依赖于全局和内在事件属性

答案 1 :(得分:0)

也许你必须用e.preventDefault()而不是返回false来阻止你的范围冒泡?

    function validateForm(event) {
    if(document.getElementById("passError").innerHTML !== "") {
        alert("There are some errors.");
        event.preventDefault();
    }
}

答案 2 :(得分:-1)

你必须在你的表格中这样做。不在提交按钮。像:

<form name="myForm" onsubmit="return validateForm();"> 

如果您的验证通过验证功能,也会返回true