总是达到else
,if
条件什么也没做。
这是较大功能的一部分。在HTML中,有2个输入:年龄和电话号码。在脚本中,numberArray
由这两个值(年龄和电话号码)的变量组成。
此for语句应该使输出显示在身份证上(在我的评论中)如下:“年龄:17”。 else
条件工作正常,并显示为“电话号码:[数字输入]”,因此我不明白if
条件的问题。
function idCard() {
var firstName = document.getElementById('firstName').value;
var lastName = document.getElementById('lastName').value;
var address = document.getElementById('address').value;
var phoneNumber = parseInt(document.getElementById('phoneNumber').value);
var age = parseInt(document.getElementById('age').value);
document.getElementById("postFullName").innerHTML = firstName + lastName;
document.getElementById("postAddress").innerHTML = address;
document.getElementById('postAge').innerHTML = age;
document.getElementById('postPhoneNumber').innerHTML = phoneNumber;
var numberArray = [];
numberArray.push("age");
numberArray.push("phoneNumber");
for (var i = 0; i < 2; i++) {
if (numberArray[i] <= 100){
document.getElementById("postAge").innerHTML = "Age: " + age;
}
else {
document.getElementById("postPhoneNumber").innerHTML = "Phone Number: " + phoneNumber;
}
}
答案 0 :(得分:1)
numberArray[i]
当前是字符串“ age”或“ phoneNumber”。好像是一个小错字,我猜你是要推送变量吗?
var numberArray = [age, phoneNumber];
// or if you must push
var numberArray = [];
numberArray.push(age);
numberArray.push(phoneNumber);
答案 1 :(得分:0)
您的if
语句未运行的原因是,您的numberArray
的前两个元素大于100-我不能说是因为您没有共享那部分代码,但这就是您发布的内容。
答案 2 :(得分:0)
如果我没有误解您的问题,那么怎么办?如果我传递两个数字一个小于100 ,另一个大于100 。因此,在那种情况下,前者将被视为年龄,而后者将是电话号码。
在您的代码上,您使用了这样的代码块,该代码块在此内容中是错误的,因为它将产生['age','phoneNumber'];
而不是age
和{{1}的数字版本}
phoneNumber
numberArray = [];
numberArray.push("age");
numberArray.push("phoneNumber");
console.log(numberArray); // will produce ['age','phoneNumber'];
var phoneNumber = 4567890; // I assume this is what you get as phoneNumber
var age = 15; // I assume this is what you get as age
numberArray = [];
numberArray.push(age); // see change here without quotes
numberArray.push(phoneNumber); // see change here without quotes
for (var i = 0; i < 2; i++) {
if (numberArray[i] <= 100) {
document.getElementById("postAge").innerHTML = "Age: " + numberArray[i];
} else {
document.getElementById("postPhoneNumber").innerHTML = "Phone Number: " + numberArray[i];
}
}