我的代码如下。目前无论我输入什么,我都不会收到“必须是数字”的消息。要么号码返回给我,要么我得到第二条消息“必须是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";
}
}
答案 0 :(得分:1)
仅在if
模式下试用。并且不要将input
变量用于结果。因为第一次如果条件替换为text.so try with variable与输入变量不同
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>
&#13;
答案 1 :(得分:0)
问题是,你使用的是同一个变量。
function checkID() {
var ID = document.getElementById('input5').value;
var ID1 = '';
if (isNaN(ID)) {
ID1 = "Must be numeric."
}
document.getElementById('message').innerHTML = ID1;
if (ID.length != 10) {
document.getElementById('message').innerHTML += "Must be 10 digits in length";
}
}
&#13;
<input id="input5" />
<button onclick="checkID()">submit</button>
<label id="message"></label>
&#13;
答案 2 :(得分:0)
您永远不会收到消息“必须是数字”。因为当输入长度不同于10时,它必须被“长度必须为10位数”所夸大。
这是解决方案:
document.getElementById('check').addEventListener('click', checkID);
function checkID() {
var ID = document.getElementById('input5').value
if (isNaN(ID)) {
ID = "Must be numeric.";
} else if (ID.length != 10){
ID = "Must be 10 digits in length";
}
document.getElementById('message').innerHTML = ID;
}
<input id='input5'/>
<div id='message'></div>
<button id='check'>check</button>
答案 3 :(得分:0)
function checkID() {
var ID = document.getElementById('input5').value;
var sReturn = "";
if (isNaN(ID)) {
sReturn = "Must be numeric."
}
if (ID.length != 10) {
sReturn += "Must be 10 digits in length.";
}
if(sReturn.length<=0){
document.getElementById('message').innerHTML = ID;
}else{
document.getElementById('message').innerHTML = sReturn;
}
}
您没有将消息添加到一个变量中。