[英]Why does this “IF” always execute even the condition is false?
This is my code: 这是我的代码:
$('.btn-back').off('click').on('click', function (event) {
var valid = carInfo.validate();
if (valid) {
event.preventDefault();
}
});
the sentence event.preventDefault()
always executes no matter what value valid
is. 无论valid
是什么,句子event.preventDefault()
始终执行。
When I change the code to 当我将代码更改为
$('.btn-back').off('click').on('click', function (event) {
var valid = carInfo.validate();
if (valid) {
event.preventDefault();
} else {
}
});
it runs the way it should be. 它按照应有的方式运行。 Maybe it's something related to Automatic Semicolon Insertion (ASI). 也许与自动分号插入(ASI)有关。
Use the jQuery Validation
plugin way: 使用jQuery Validation
插件方式:
carInfo.validate()
will return Validator
object . carInfo.validate()
将返回Validator
对象 。
So valid
variable is always true
. 因此, valid
变量始终为true
。 Use valid
method from docs : 使用docs中的 valid
方法:
$('.btn-back').off('click').on('click', function (event) {
carInfo.validate();
if (carInfo.valid()) {
event.preventDefault();
}
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.