我的代码如下。目前,无论我输入什么,我都不会收到“必须是数字”的消息。要么该号码返回给我,要么我收到第二条消息“必须是 10 位数字”。我怎样才能解决这个问题?例如,如果用户输入“abcdefghij”,我希望“必须是数字才能弹出”。但假设他们输入“abc”,我还希望“必须是数字才能弹出”以及“必须是 10 位数字”。
function checkID() {
var ID = document.getElementById('input5').value
if (isNaN(ID)) {
ID = "Must be numeric."
}
document.getElementById('message').innerHTML = ID;
if (ID.length == 10) {
}
else {
document.getElementById('message').innerHTML = "Must be 10 digits in length";
}
}
最佳答案
仅在 if
模式下尝试使用两者。并且不要使用 input
变量作为结果。因为第一次 if 条件被文本替换。所以尝试使用变量与输入变量不同
function checkID() {
var res="";
var ID = document.getElementById('input5').value
if (isNaN(ID)) {
res += "Must be numeric."
}
if(ID.length != 10){
res += "Must be 10 digits in length";
}
document.getElementById('message').innerHTML = res;
}
<input id="input5">
<p id="message"></p>
<button onclick="checkID()">check</button>
关于javascript - 只有 if 语句的第二部分有效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43445296/