我无法尝试将此脚本汇总,一方面,所有标记的复选框的值(全部带有名称=“PV”。总和应该是“PV1”),另一方面,手动写入的值在相关的输入数字框中(所有名称为“pvo”。总和应为 PV2)。之后,使用这些值它应该计算其他数字(PB1 和 PB2)。但是它不会返回任何东西。我究竟做错了什么?
<script language="JavaScript" type="text/javascript">
var PV = document.getElementsByName("PV")
var PVO = document.getElementsByName("pvo")
var PV1 = document.getElementById("PV1")
var PV2 = document.getElementById("PV2")
var PB1 = document.getElementById("PB1")
var PB2 = document.getElementById("PB2")
function clickCh(form){calcpv(this.form) ; calcpvo(this.form) ; calculate(this.form)}
function trunc(n){return ~~n; }
function calcpv(form){for(i=0 ; i < PV.length ; i++)
{if(PV[i].checked == true) {PV1.value += Number(PV[i].value)} }}
function calcpvo(form){for(i=0 ; i < PVO.length ; i++)
{PV2.value += Number(PVO[i].value=)} }
function calculate(form){if(PV1>PV2){PB1.value = trunc(10 + (PV1.value*1 - PV2.value*1 -1)/150)}
else {PB1.value = trunc(10 + (PV1.value*1 - PV2.value*1 +1)/150)}; PB2.value = 20 - PB1.value
}
</script>
我的 HTML 代码的相关示例(有许多类似于此的表行)
<td><input type="checkbox" name="PV" value=70>
<input type="checkbox" name="PV" value=70>
<input type="checkbox" name="PV" value=70>
<input type="checkbox" name="PV" value=70></td>
<td><input type="text"></td><td><input type="number" name="pvo"></td></tr>
<input id="PV1" type="text" name="" readonly="readonly">
<input id="PV2" type="text" name="" readonly="readonly">
<input type="button" onclick="clickCh(this.form)" value="calcular"><br>
<input id="PB1" type="text" name="" readonly="readonly">
<input id="PB2" type="text" name="" readonly="readonly"><br>