【问题标题】:Returning false from onsubmit function doesn't prevent form from submitting从 onsubmit 函数返回 false 不会阻止表单提交
【发布时间】:2019-05-21 10:11:47
【问题描述】:

我提交表单后,无论返回true还是false,表单都会忽略onsubmit,直接进入表单动作。

我想验证输入,如果为空,它将保持在同一页面上并弹出警报。

这是我的 JavaScript

<script>
    function validLogin() {
        if (document.login.username.value == "") {
            alert("Please enter Login Name.");
            document.loginform.userName.focus();
            return false;
        }
        if (document.login.password.value == "") {
            alert("Please enter password.");
            document.userform.password.focus();
            return false;
        }
        alert("Welcome User");
        return true;
    }
</script>

这是我的表格

<form action="Login" method="post" name="login" onsubmit="return validLogin();">

【问题讨论】:

  • 尝试删除操作
  • 如果所有值都经过验证,则需要执行操作
  • 投票关闭为题外话,因为问题是由拼写错误引起的。 HTML 说 name="login" 而 JavaScript 说 document.login.username.value 它也说 document.loginform.userName.focus(); 这将引发异常(因为您更改了表单和输入的名称!),因此代码永远不会到达 return false;

标签: javascript forms onsubmit


【解决方案1】:

userName 字段在代码中的大小写错误

<script>
    function validLogin() {
        if (document.login.username.value == "") {
            alert("Please enter Login Name.");
            document.login.username.focus();//Here
            return false;
        }
        if (document.login.password.value == "") {
            alert("Please enter password.");
            document.login.password.focus();
            return false;
        }
        alert("Welcome User");
        return true;
    }
</script>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-02-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-04-22
    相关资源
    最近更新 更多