如何解决如何修复跨度形式的正确值?
我有以下脚本计算一个简单的总和。如果总和超过或低于 100,则会显示显示错误。尽管有错误消息,用户仍然可以继续到下一页。我希望在值为 == 100 之前他无法移动到下一页。
<table class="table-bordered" style=" width: 80%; margin-left: 10%;" >
<tr style="background-color:#ffb380">
<td scope="col" colspan="1" style="text-align:center"> Quante Palline per la Scelta 1 </td>
<td scope="col" colspan="1" style="text-align:center"> Quanti Palline per la Scelta 2 </td>
<td scope="col" colspan="1" style="text-align:center"> Totale Palline Assegnate </td>
</tr>
<tr style="background-color:#ffe0cc">
<td> <input class="pref_input" id="pref1" type="number" name="pref1" min="0" max="100" style="width: 50%; margin-left: 25%"> </td>
<td> <input class="pref_input" id="pref2" type="number" name="pref2" min="0" max="100" style="width: 50%; margin-left: 25%"> </td>
<td> <span id="sum_token" style="width: 50%; margin-left: 37%" ></span> su 100</td>
</tr>
</table>
<div id="error" class="hide"><b>La somma dei gettoni deve essere 100</b></div>
<script>window.onload = init_sum_token();
function init_sum_token() {
sum_token = document.getElementById("sum_token");
pref1 = document.getElementById("pref1");
pref2 = document.getElementById("pref2");
document.querySelectorAll(".pref_input").forEach((item) => {
item.addEventListener("change",(event) => {
sum_prefs =
get_input_value(pref1) +
get_input_value(pref2);
let sum = parseFloat(sum_prefs);
if (sum != 100) {
sum = sum_prefs;
document.getElementById("error").className = "show";
} else {
document.getElementById("error").className = "hide";
}
sum_token.innerHTML = sum;
});
});
}
function get_input_value(input) {
if (input.value == "") {
return 0;
} else {
return parseFloat(input.value);
}
if (input.value != 100) {
return "error";
}
}
</script>
解决方法
请正确比较 get_input_value()
函数中的总和,它应该是这样的:
if (input.value > 100 || input.value < 100 ) {
return "error";
}
也纠正一下:
if (sum > 100 || sum < 100) {
sum = sum_prefs;
....
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。