我是使用JavaScript的新手,我目前正在尝试查找HTML表单中提交的值之间的范围。提交了五个值,名为E1-E5,例如:
<input type="text" size="2" name="E1" pattern="[0-9mM]{2}"
onKeyup="autotab(this, document.tri_1.E2)" maxlength=2 autofocus
autocomplete="off"/>
这是我目前的代码:
<script type="text/javascript">
function checkScores(){
var eOne = document.getElementById("E1").value;
var eTwo = document.getElementById("E2").value;
var eTheee = document.getElementById("E3").value;
var eFour = document.getElementById("E4").value;
var eFive = document.getElementById("E5").value;
var scoresArray = [eOne, eTwo, eThree, eFour, eFive] ;
var scoresMax = Math.max(scoresArray) ;
var scoresMin = Math.min(scoresArray) ;
var scoresDifference = scoresMax - scoresMin ;
if (scoresDifference > 10)
window.alert("The inputted scores have a range of more than 1 whole mark.
Do you want to accept these scores?") ;
}
</script>
表单有一个提交按钮,我希望在将分数保存到MySQL数据库之前执行该脚本:
<input type="submit" name="saveNext"
value="Save and load next competitor" onSubmit="checkScores()" />
非常感谢任何帮助或指示!
答案 0 :(得分:0)
您不能将Math.max
和Math.min
与数组一起使用。
您有两种解决方案:
var scoresMax = Math.max(eOne, eTwo, eThree, eFour, eFive);
// ...
OR
var scoresMax = Math.max.apply(null, scoresArray);
// ...
(见apply)