javascript - 为什么这个 "IF"即使条件为假也总是执行?

标签 javascript jquery validation

这是我的代码:

$('.btn-back').off('click').on('click', function (event) {
    var valid = carInfo.validate();
    if (valid) {
        event.preventDefault();
    }
});

不管 valid 是什么值,句子 event.preventDefault() 总是执行。

当我将代码更改为

$('.btn-back').off('click').on('click', function (event) {
    var valid = carInfo.validate();
    if (valid) {
        event.preventDefault();
    } else {

    }
});

它按应有的方式运行。也许这与自动分号插入 (ASI) 有关。

最佳答案

使用 jQuery Validation插件方式:

carInfo.validate() 将返回 Validator object .

因此 valid 变量始终为 true。使用 docs 中的 valid 方法:

$('.btn-back').off('click').on('click', function (event) {
    carInfo.validate();
    if (carInfo.valid()) {
        event.preventDefault();
    }
});

关于javascript - 为什么这个 "IF"即使条件为假也总是执行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27828360/

相关文章:

javascript - 如何使用翻转插件在悬停时切换图像

javascript - 无法通过 JavaScript 转换在文本框中输入浮点值

Django 多对多验证

javascript - "A network error has occurred"电子邮件/密码注册 Firebase 时出错

javascript - 有没有更好的异步编码模式?

javascript - 使用 jquery 或 javascript 解析 cdata 中的 html

c# - 我应该在 DDD 域项目中验证吗?

javascript - 如何从不同的前端应用程序将 Web Api 的 cookie 发送回它

jquery - 如何在简单的扩展 jQuery 中更改文本?

java - 同一 Controller 的多个 Spring MVC validator