对你们来说相当简单,但有人可以告诉我我哪里出错了吗?我只需要根据文本框中输入的整数返回“简单”、“中等”或“困难”。
HTML
<form id="form1" name="form1" method="post" action="">
<table>
<tr>
<td>Score:</td>
<td><input type="text" name="enter" id="enter" size="1"/></td>
<td><input type="text" name="result" id="result" disabled /></td>
</tr>
</table>
</form>
JS
function update() {
var v = document.getElementsById('enter')[0].value;
var output = v;
if ((v > 1) && (v <= 10)) = "Easy";
else if ((v > 11) && (v <= 20)) = "Moderate";
else ((v > 21) && (v <= 30)) = "Hard";
document.getElementById('result').innerHTML = output;
}
最佳答案
这可以变得更具可读性!
如果v
是>30
,你会怎么做? 1
或 11
或 21
怎么样?在本例中,我使用了“Impossible!”
作为占位符:
function update () {
var value = document.getElementsById('enter')[0].value;
var difficulty = "Easy";
if (value > 30) {
difficulty = "Impossible!";
}
else if (value > 20) {
difficulty = "Hard";
}
else if (value > 10) {
difficulty = "Moderate";
}
else {
difficulty = "Easy";
}
document.getElementById('result').innerHTML = difficulty;
}
或者,您可以使用带有条件的 switch
语句,如下所示:
function update () {
var value = document.getElementsById('enter')[0].value;
var difficulty;
switch (true) {
case (value > 20 && value <= 30):
difficulty = "Hard";
break;
case (value > 10 && value <= 20):
difficulty = "Moderate";
break;
case (value > 1 && value <= 10):
difficulty = "Easy";
default:
difficulty = "Impossible!";
break;
}
document.getElementById('result').innerHTML = difficulty;
}
关于javascript - 根据两个整数之间的值返回一个字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30525225/