пытаясь выполнить пользовательские расчеты для заполняемой формы Adobe, но получая NaN - PullRequest
0 голосов
/ 14 марта 2011

Я пытаюсь сделать некоторые базовые математические вычисления, чтобы получить общую сумму моей формы. Проблема, с которой я сталкиваюсь, заключается в том, что флажок не проверяется, код не работает. Это работает, когда все три проверены, хотя. Флажки установлены по понедельникам и вторникам.

Возможно, что-то не так с моим синтаксисом 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 голосов
/ 15 марта 2011

Ваши тесты всегда будут проходить, даже если значение равно NaN.Во-первых, я не уверен, что isNaN ("NaN") == true.

Во-вторых: NaN! = NaN.Вы должны использовать isNaN () вместо ==.

Not A Number не равно Not A Number.

0 голосов
/ 14 марта 2011

Он является функцией проверки в 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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...