javascript - jQuery/JS 不会在验证表单后重定向

标签 javascript jquery validation redirect

我正在尝试使用 jQuery/JavaScript 验证表单中的密码。验证后,我希望脚本重定向我。但是,这目前不起作用。

注意:这只是我大学的一个练习,所以代码非常简单:

HTML:

!DOCTYPE html>
<html>
<head>
<script type="text/javascript" src="js/jquery-2.1.3.min.js"></script>
<script type="text/javascript" src="js/passwordCheck.js"></script>
</head>
<body>
  <form method="post" name="form1" id="form-password" action="">
    <label>Password:</label>
    <input type="password" name="password" id="password" value="" size="32" />
    <input type="submit" value="Continue" id="submit">
  </form>
</body>
</html>

JS/jQuery:

'use strict';
jQuery(document).ready(function($) { 
    $('#form-password').submit(function() { 

        var passwordVal = $('#password').val();

        if (passwordVal === "123" ) {
            $(location).attr('href', 'http://www.stackoverflow.com'); 
        }   

    });
});

我试过:

window.location.href = "http://www.stackoverflow.com";

但这也不起作用。

我知道我需要检查提交的数据,我的问题只是重定向。

我该如何解决这个问题?

最佳答案

您只需要在提交监听器中调用 preventDefault(),然后调用

window.location.href = "...";

目前,在不阻止提交表单的默认操作的情况下,表单会尝试发布您的数据,而不管提交回调中发生了什么。

如果您阻止默认值,则在您返回 true 之前表单不会提交。

也就是说,重定向应该在后端或由前端 MVC 框架执行。无论如何,都需要提交密码数据并根据某处的数据库进行检查。

关于javascript - jQuery/JS 不会在验证表单后重定向,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29357137/

相关文章:

javascript - 未捕获的 TypeError : $(. ..).anotherfunc 不是函数

javascript jQuery 变量作用域

php - Zend Framework : setting a Zend_Form_Element form field to be required, 我如何更改用于确保元素不为空的验证器

php - jQuery 验证单选按钮之间的条件条件

asp.net - EVENTVALIDATION 字段可以被篡改吗?

c# - ASP.Net 404 大型 XMLHttpRequest 文件上传

javascript - 如何使用keyarrows在javascript中获取元素的焦点

jQuery:带有隐藏输入字段的动画

javascript - RegExp 字母数字字符串 + 特殊字母

javascript - 如何在本地将多个目录下的多个js文件压缩为一个js