Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/87.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 这是为什么;如果;即使条件为false也始终执行?_Javascript_Jquery_Validation - Fatal编程技术网

Javascript 这是为什么;如果;即使条件为false也始终执行?

Javascript 这是为什么;如果;即使条件为false也始终执行?,javascript,jquery,validation,Javascript,Jquery,Validation,这是我的代码: $('.btn-back').off('click').on('click', function (event) { var valid = carInfo.validate(); if (valid) { event.preventDefault(); } }); 无论有效值是多少,语句event.preventDefault()始终执行 当我将代码更改为 $('.btn-back').off('click').on('click',

这是我的代码:

$('.btn-back').off('click').on('click', function (event) {
    var valid = carInfo.validate();
    if (valid) {
        event.preventDefault();
    }
});
无论
有效值是多少,语句
event.preventDefault()
始终执行

当我将代码更改为

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

    }
});
它按它应该的方式运行。可能与自动分号插入(ASI)有关。

使用插件方式:

carInfo.validate()将返回

所以
valid
变量总是
true
。从以下位置使用有效的方法:

使用插件的方式:

carInfo.validate()将返回

所以
valid
变量总是
true
。从以下位置使用有效的方法:


那么什么是
validate
函数?可能重复
validate()返回的内容?它可能正在处理一个“truthy”值。如果
valid
不为true,它将不会执行,更可能的情况是,您的函数没有返回您所期望的结果。是否调试了代码或preventDefault()上有断点?我不敢相信第一个代码块没有到达preventDefault(),第二个代码块到达了它,所以什么是
validate
函数?什么是
validate()
返回的可能重复?它可能正在处理一个“truthy”值。如果
valid
不为true,它将不会执行,更可能的情况是,您的函数没有返回您所期望的结果。是否调试了代码或preventDefault()上有断点?我不敢相信第一个代码块没有到达preventDefault(),第二个代码块到达了它您需要调用
validate()
?在使用此方法检查表单之前,是否需要对表单调用
if(carInfo.valid()){
validate()
。From:)好的,只是确保:-),这个问题与jQuery验证插件无关。我添加了使用jQuery验证的建议:)是否需要调用
validate()
?在使用此方法检查表单之前,是否需要对表单调用
if(carInfo.valid()){
validate()
。From:)好的,只是确保:-),这个问题与jQuery验证插件无关。我添加了使用jQuery验证的建议:)
$('.btn-back').off('click').on('click', function (event) {
    carInfo.validate();
    if (carInfo.valid()) {
        event.preventDefault();
    }
});