javascript - 只有 if 语句的第二部分有效

标签 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";
  }

}

最佳答案

仅在 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/

相关文章:

javascript - 从服务获取变量到 Controller

php - 如何组合两个文本超链接

javascript - 如何在鼠标悬停在从数组加载元素的 div 上显示名称

javascript - 使用 Django 构建 Ajax 自动分页器

java - 如果用户输入非数字字符,则进行代码重复循环?

javascript - 数组引用表现得像一个副本

Excel - 跨多列或具有多个值的一列进行多值搜索

javascript - if/else 语句不起作用?

java - 读取文件并根据该行的内容执行功能

jquery - 应用以下格式,除非视口(viewport)小于容器 div - Jquery