繁体   English   中英

为什么这个不起作用的JavaScript?

[英]Why isn't this working javascript?

我正在使用它来检测表单上的错误...

var error = false;

if (val === '') {

    error = true;
}

if (error = true) {

    $('#joinForm .submit').click(function(event) {
        event.preventDefault();
    });
}

简单但确实不起作用,我是否缺少一些愚蠢的东西? 可变错误默认为false

如果发现错误,则为true

如果发现错误是真的 ,会阻止提交表单吗?

var error = false;

if (val === '') { // <<< This checks type first, then value
                  //     An empty '' variable is not type-equivalent
                  //     to a (boolean) false value
    error = true;
}

if (error = true) { // <<< You're setting a variable here, which means
                    //     means that you're testing if the variable
                    //     assignment itself is successful, you'll get
                    //     a true result in most cases, and except with
                    //     things like while loops, you shouldn't use this
                    //     form.
                    // Maybe you want == (falsy)? Or === (type-checked)?
    $('#joinForm .submit').click(function(event) {
        event.preventDefault();
    });
}

您应该在Submit事件处理程序中进行检查:

$('#joinForm').submit(function(event) {

    var error = false;

    if (val === '') {
        error = true;
    }

    if (error) {
        event.preventDefault();
    }
});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM