Javascript 将true/false设置为if/or语句不起作用
嘿,我有以下js代码来验证文本框:Javascript 将true/false设置为if/or语句不起作用,javascript,if-statement,Javascript,If Statement,嘿,我有以下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) { //
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
我从第二次按下按钮得到的值是:
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;
...
当您第二次单击时,您已经有了img
标记,因此您的变量不会重置canSubmit=false代码>
将变量赋值移到创建错误代码块之外,如下所示:
if (($('#cf_name_txt').val() == "") || ($('#cf_name_txt').val().substr(0, 1) == "*") || ($('#cf_name_txt').length == 1)) {
canSubmit = false;
...
您可以发布JSFIDLE吗?第二级if语句的目的是什么?难道不能将其添加到第一级吗?您可以发布一个JSFIDLE吗?第二级if语句的目的是什么?难道这不能添加到第一个吗?啊,我知道这会很简单。谢谢你!啊,我知道这会很简单。谢谢你!