即使验证失败,表单也会被提交

form getting submitted even if validation fails

本文关键字:提交 表单 验证 失败      更新时间:2023-09-26

我有一个页面,在提交10秒后禁用该按钮,如果验证成功,则提交表单。然而,即使验证返回false,表单仍在提交中。

我试过使用

<input type="submit">

而不是图像仍然相同的问题。

以下是代码:

<html>
    <head>
        <script>
            function enableMe(myBtn) {
                myBtn.disabled = false;
            }
            function doValidation() {
                document.getElementById('hidden1').value = 'true';
                return false;
            }
        </script>
    </head>
    <body>
        <form id="loginForm" method="post" action="https://www.mySite.com/authService">
            <label for="userid">Username</label><br/>
            <input type="text" value="" id="userid" name="userid"/>
            <br/>
            <label for="password">Password</label>
            <br/>
            <input type="password" value="" id="password" name="password"/>
            <br/>
            <br/>
            <input type="image" id="submitBtn" src="btn_login.gif"
                   onsubmit="this.disabled=true; setTimeout(enableMe,10000,this); return doValidation();">
            <input type="hidden" id="hidden1" name="hidden1" value="false"/>
        </form>
    </body>
</html>

验证应该附加到表单,而不是输入元素。。。

<form id="whatever" ... onsubmit="return doValidation();">