如何使用数字输入在if then语句上修复js代码

时间:2019-04-10 21:42:47

标签: javascript if-statement button

我希望用户输入一个数字,如果该数字是3或5的倍数,我想要一个单词/段落说“你是女巫”

创建了一个函数,但我似乎无法使其正常工作

var x;

function pop() {
  for (x = 1; x <= 100; x++)
    if (x % 3 == 0) {
      document.getElementById('onClick').innerHTML = 'You are a Warrior';
    } else if (x % 5 == 0) {
      document.getElementById('onClick').innerHTML = 'You are a wizard';
    } else if (x % 3 == 0 && x % 5 == 0) {
      document.getElementById('onClick').innerHTML = 'You are a Sage';
    } else {
      document.getElementById('onClick').innerHTML = 'invalid';
    }
}
<input type="number" id="x">
<br>
<br>
<center><button onclick="pop()">Click Me</button> </center>  
<br>
<br>
<p id="onClick"></p>

1 个答案:

答案 0 :(得分:1)

您永远不会阅读用户输入。您有一个循环,不应有一个循环。您需要更改比较的顺序。

function pop(){
    var x = document.getElementById("x").value;
    
    if (x % 3 == 0 && x % 5 == 0) {
        document.getElementById('onClick').innerHTML = "You are a Sage";
    }
    else if (x % 3 == 0 ) {
        document.getElementById('onClick').innerHTML = "You are a Warrior";
    }
    else if (x % 5 == 0){
        document.getElementById('onClick').innerHTML = "You are a wizard";
    }
    else {
        document.getElementById('onClick').innerHTML = "invalid";
    } 
}
<input type="number" id="x">
<br>
<br>
<center><button onclick="pop()">Click Me</button> </center>  
<br>
<br>
<p id="onClick"></p>