越野车 Javascript PDF
Posted
技术标签:
【中文标题】越野车 Javascript PDF【英文标题】:Buggy Javascript PDF 【发布时间】:2015-07-13 11:43:59 【问题描述】:我目前正在处理带有自定义计算的 PDF。
以下是给我带来各种问题的部分代码:
var WidowerValue = getField("WidowerAllow").value;
var WidowerAnswer = getField("WidowsEnti").value;
var WidowerChildren = getField("under18Total01").value;
var Child01Benefit = WidowerChildren * 1620;
var Child01Allowance = WidowerChildren * 1534;
if(WidowerAnswer == "Yes")
if(Child01Benefit != 0 && Child01Allowance !=0)
event.value = WidowerValue + Child01Benefit + Child01Allowance;
else
event.value = WidowerValue;
else if(WidowerAnswer == "No")
if(Child01Benefit !=0)
event.value = Child01Benefit;
这是在一个文本字段中,其值根据满足的条件而变化。它有效(有时),我通常必须单击该框并删除它输入的错误值,然后它会显示正确的计算。其他时候它实际上并没有添加值,只是将它们连接在一起,例如,而不是 5 + 5 = 10(正确),它将放置 5+5 = 55(错误),当我手动删除错误的值时,这再次得到纠正。
谁能提供关于为什么会发生这种情况的见解?
谢谢
【问题讨论】:
您可能只需要始终如一地确保您返回的值是真正的数字。最简单的方法:+getField("WidowerAllow").value
- +
一元运算符将强制将该值解释为数字。 (如果不是数字,则结果为NaN
。)
感谢您的回复,我已将所有相关框设置为数字格式,并将 +getField 添加到代码中,它正在正确计算但不会更新,直到我删除当前值并让它重新计算.
表格中是否还有其他计算,您使用的值是否取决于其他计算的结果?如果是这样,请检查计算顺序并进行相应调整。为了完全控制此类依赖关系,最佳实践是将所有计算合并到一个脚本中,并将其分配给甚至不参与计算的(隐藏、只读)字段。
【参考方案1】:
在 JS 中 + 是一个运算符,用于连接字符串并进行整数相加。
String + String 是一个字符串连接。 Number + Number 是 Numbers 的加法。
var string = '5';
function concat()
document.getElementById("result").innerhtml = string + string;
function addition()
document.getElementById("result").innerHTML = Number(string) + Number(string);
<div id='result'>Click a Button</div>
<button onclick="concat();">String concat</button>
<button onclick="addition();">Addition</button>
【讨论】:
感谢您的回复,我已将所有相关框设置为数字格式,并将 +getField 添加到代码中,它正在正确计算但不会更新,直到我删除当前值并让它重新计算.以上是关于越野车 Javascript PDF的主要内容,如果未能解决你的问题,请参考以下文章