我正在尝试做一些基本的数学计算来得到我的表格总数。我遇到的问题是当没有选中复选框时,代码无效。虽然检查了所有三个,但它仍然有用。复选框是mon,tue和wed。
我的javascript语法可能有问题......
var conf = this.getField("conference");
var conf_check = false;
if(conf.value == 3 || conf.value == 4){
conf_check = true;
}
switch (conf.value) {
case 1: result = 625; break;
case 2: result = 850; break;
case 3: result = 220; break;
case 4: result = 275; break;
default: result = 0;
}
if(conf_check == true){
var total_multiplier = 0;
if(this.getField("mon").value != "NaN"){
total_multiplier = total_multiplier + this.getField("mon").value;
}
if(this.getField("tue").value !="NaN"){
total_multiplier = total_multiplier + this.getField("tue").value;
}
if(this.getField("wed").value != "NaN"){
total_multiplier = total_multiplier + this.getField("wed").value;
}
var total = total_multiplier * result;
} else {
total = result;
}
event.value = total;
基本上,如果有一个NaN复选框,则会破坏计算。
答案 0 :(得分:0)
他是javascript中的检查功能。
<html>
<head>
<script language=javascript>
function validate(chk){
if (chk.checked == 1)
alert("Thank You");
else
alert("You didn't check it! Let me check it for you.")
chk.checked = 1;
}
</script>
</head>
<body>
<form>
<input type=checkbox name=chk1>Please Check Me
<p><input type=button value="check" onclick="return validate(chk1);">
</form>
</body>
</html>
答案 1 :(得分:0)
即使值为NaN,您的测试也将始终通过。首先,我不太确定isNaN(“NaN”)== true。
第二:NaN!= NaN。您必须使用isNaN()而不是==。
不是数字不等于非数字。