只有if语句的第二部分才有效

时间:2017-04-17 04:48:40

标签: javascript if-statement

我的代码如下。目前无论我输入什么,我都不会收到“必须是数字”的消息。要么号码返回给我,要么我得到第二条消息“必须是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";
  }

}

4 个答案:

答案 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;
&#13;
&#13;

答案 1 :(得分:0)

问题是,你使用的是同一个变量。

&#13;
&#13;
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;
&#13;
&#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;
      }
}

您没有将消息添加到一个变量中。