尝试为Adobe可填写表单进行自定义计算,但获取NaN

时间:2011-03-14 18:01:08

标签: javascript pdf

我正在尝试做一些基本的数学计算来得到我的表格总数。我遇到的问题是当没有选中复选框时,代码无效。虽然检查了所有三个,但它仍然有用。复选框是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复选框,则会破坏计算。

2 个答案:

答案 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>

http://www.devx.com/tips/Tip/13204

答案 1 :(得分:0)

即使值为NaN,您的测试也将始终通过。首先,我不太确定isNaN(“NaN”)== true。

第二:NaN!= NaN。您必须使用isNaN()而不是==。

不是数字不等于非数字。