gpt4 book ai didi

javascript - 将 true/false 设置为 if/or 语句不起作用

转载 作者:行者123 更新时间:2023-11-28 20:49:22 24 4
gpt4 key购买 nike

嘿,我有以下 js 代码来验证文本框:

function submitContactUs() {
var canSubmit = true;

if (($('#cf_name_txt').val() == "") || ($('#cf_name_txt').val().substr(0, 1) == "*") || ($('#cf_name_txt').length == 1)) {
if (!$('#cf_name_txt').next('img').length) { //image not there yet
$('#cf_name_txt').after(theErrorIcon + " id=\"errIcon_cfname\" />");
$('#errIcon_cfname').vibrate(conf);
canSubmit = false;
console.log('false name');
}
} else {
$('#errIcon_cfname').remove();
console.log('true name');
}

if (canSubmit) {
alert(canSubmit);
//$("#sendDataContactus").click();
}

当我第一次单击按钮来启动该功能时,我得到了正确的false,但是一旦我再次点击按钮(不更改任何内容),它由于某种原因会返回为true ???有谁发现 js 有什么问题导致它这样做吗?

我从第一次按下按钮时获得的值是:

false name

我从第二次按下按钮得到的值是:

messagebox saying true

最佳答案

当您第二次点击时,您已经有了 img 标记,因此您的变量不会重置 canSubmit = false;

将变量分配移到创建错误代码块之外,如下所示:

 if (($('#cf_name_txt').val() == "") || ($('#cf_name_txt').val().substr(0, 1) == "*") || ($('#cf_name_txt').length == 1)) {

canSubmit = false;
...

关于javascript - 将 true/false 设置为 if/or 语句不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12785237/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com