Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/466.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 只有if语句的第二部分有效_Javascript_If Statement - Fatal编程技术网

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

Javascript 只有if语句的第二部分有效,javascript,if-statement,Javascript,If Statement,我的代码如下。目前,无论我输入什么,我都没有收到“必须是数字”的信息。要么将号码返回给我,要么我收到第二条消息“必须是10位数字”。我怎样才能解决这个问题?例如,如果用户输入'abcdefghij',我希望“必须是数字才能弹出”。但如果他们输入“abc”,我还希望“必须是数字才能弹出”以及“必须是10位数” function checkID() { var ID = document.getElementById('input5').value if (isNaN(ID)) {

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

}

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

函数checkID(){
var ID=document.getElementById('input5')。值;
变量ID1='';
if(isNaN(ID)){
ID1=“必须是数字。”
}
document.getElementById('message')。innerHTML=ID1;
如果(ID.长度!=10){
document.getElementById('message')。innerHTML+=“长度必须为10位”;
}
}

提交

如果仅在
模式下,则在
中尝试使用这两种方法。不要在结果中使用
input
变量。因为第一次使用文本替换if条件。所以try with变量与输入变量不同

函数checkID(){
var res=“”;
var ID=document.getElementById('input5')。值
if(isNaN(ID)){
res+=“必须是数字。”
}
如果(ID.长度!=10){
res+=“长度必须为10位”;
}
document.getElementById('message').innerHTML=res;
}

选中此复选框,您将永远不会收到消息“必须是数字”。因为当输入长度不同于10时,该消息被“长度必须为10位”覆盖

以下是解决方案:

document.getElementById('check')。addEventListener('click',checkID);
函数checkID(){
var ID=document.getElementById('input5')。值
if(isNaN(ID)){
ID=“必须是数字。”;
}否则,如果(ID.长度!=10){
ID=“长度必须为10位”;
}
document.getElementById('message').innerHTML=ID;
}

检查功能检查ID(){
var ID=document.getElementById('input5')。值;
var sReturn=“”;
if(isNaN(ID)){
sReturn=“必须是数字。”
}
如果(ID.长度!=10){
sReturn+=“长度必须为10位。”;
}

如果(sReturn.length)innerHTML被覆盖,您可以使用
.innerHTML+=New Message
。您能创建一个工作副本吗?请输入您的html代码
  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;
      }
}