使用JavaScript查找HTML表单上的值范围
我不熟悉使用JavaScript,目前正在尝试查找以HTML表单提交的值之间的范围。提交了五个值,命名为E1-E5,例如:使用JavaScript查找HTML表单上的值范围,javascript,html,forms,function,alert,Javascript,Html,Forms,Function,Alert,我不熟悉使用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/
<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>
函数检查分数(){
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、etree、eFour、eFive];
var scoresMax=Math.max(scoresArray);
var scoresMin=Math.min(scoresArray);
var scoresDifference=scoresMax-scoresMin;
如果(得分差异>10)
window.alert(“输入的分数范围超过1整分。
你想接受这些分数吗?);
}
表单有一个提交按钮,我希望在将分数保存到MySQL数据库之前执行该脚本:
<input type="submit" name="saveNext"
value="Save and load next competitor" onSubmit="checkScores()" />
任何帮助或指点都将不胜感激 不能对数组使用
Math.max
和Math.min
您有两种解决方案:
var scoresMax = Math.max(eOne, eTwo, eThree, eFour, eFive);
// ...
或
(请参阅)@adsween…告诉我们上面的代码有什么问题。您是否收到错误、是否收到不良结果等?我们需要更多info@MikeTWebb我没有收到任何错误,但警报没有出现,因此我不确定其中一个变量是否存在问题。似乎整个脚本根本没有运行@adsween…尝试在函数()的最开始处添加警报。有可能警报没有发出;t因为得分不同而触发谢谢-我刚刚尝试了这两种解决方案,但不幸的是两者都没有导致函数运行。表单运行正常,值存储在数据库中,但似乎脚本被完全忽略。另外请注意,您不能在警报中添加换行符(请改用
\n
),您应该返回false
,或者使用(更好)实际取消sumission。
var scoresMax = Math.max.apply(null, scoresArray);
// ...