javascript - 为什么会进行这个 ajax 调用,尽管它不应该被调用

标签 javascript jquery ajax forms validation

我正在处理这个验证脚本,但不明白为什么我遇到了问题。

你可以看到我有一个 check = false/true,在运行 ajax 调用之前进行检查。

但是,即使字段为空并且 check 设置为 false,它仍然会运行调用。

所以:

// JavaScript - Update Password AJAX

$(document).ready(function () {

    // When the form is submitted
    $('.updatepasswordform').submit(function () {

        var check = true;

        // Get the values
        var password1 = $("input[name=password1]").val();
        var password2 = $("input[name=password2]").val();
        var newpassword = $("input[name=newpassword]").val();

        /* Password Validation */

        // If fields are empty
        if (password1 === '') {
            check = false;
            $("input[name=password1]").css('border', 'solid 2px red');
        }

        // If fields are empty
        if (password2 === '') {
            check = false;
            $("input[name=password2]").css('border', 'solid 2px red');
        }

        // If fields are empty
        if (newpassword === '') {
            check = false;
            $("input[name=newpassword]").css('border', 'solid 2px red');
        }

        if (check = true) {
            $.ajax({
                type: "POST",
                url: "process/updatepassword.php",
                data: $(".updatepasswordform").serialize(),
                dataType: "json",
                success: function (response) {

                    /* Checks for database validation, removed for space saving */

                }

            });
        }
        return false;
    });
});

最佳答案

if (check = true) 是赋值。你需要一张支票。

if (check == true) {

或者正如 JasonP 提到的,只是

if (check) {

关于javascript - 为什么会进行这个 ajax 调用,尽管它不应该被调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19694421/

相关文章:

javascript - 理解 ajax 中的 http 请求和嵌套函数

javascript - 为什么我的脚本仅在缩小后才抛出 'Cannot redefine property: i' 错误?

javascript - 从组件状态的数组中删除元素

javascript - 单击时将输入值添加到 html 属性

javascript - 结合两个事件处理程序,jQuery

javascript - jQuery,任何请求之前ajax请求的默认回调?

javascript - 基于Ajax选择调用更改图表数据

javascript - 如何在生成的子窗口中获取表单元素值 (jQuery)

javascript - 在 JS 或 Rails 中自动缩短 URL

javascript - 如何在没有iframe的情况下在ionic div中加载外部url