Javascript getField returns 0 对于 dash/minus 交易品种
Javascript getField returns 0 for a dash/minus symbol
我有一个包含计算的 PDF 文件。这个想法是,用户在一个简单的表格上输入信息,数据在同一个表格上被复制多次,这样他们就可以在同一个页面上打印同一个标签 4 次,而无需重新输入所有内容。因此,每个字段的计算结果为:
event.value = this.getField("Field1").value;
除非有人输入 dash/minus 符号,否则这很有效。然后计算 returns 0 而不是破折号。这是唯一发生这种情况的角色。我想是因为它本质上是数学的,但是 none 的其他操作符号却这样做了,所以我很困惑。
我正在使用 FoxIt PhantomPDF 创建带有公式的 PDF。在 Adobe Reader XI 中打开的完全相同的 PDF 可以完美运行。所以我不确定这是 JavaScript 问题还是 FoxIt 问题。谢谢!
您需要将 value
转换为数字,因为您得到的 value
是字符串。
event.value = parseFloat(this.getField("Field1").value);
当谈到将字段值从一个字段推送到另一个字段时,我通常使用
this.getField("fieldToPushValueTo").value = event.value ;
在验证事件中。有了这个,值被推入的字段仍然是可编辑的。
每次表单中的任何字段的值发生变化时,使用计算事件来传递字段值,并且不允许更改字段的值,因为它会立即被替换。
也许您可以附加一个空字符串以防止减号被解释为数学运算。
event.value = this.getField("Field1").value + "" ;
如果这两个字段具有相同的属性,只需复制(copy/paste 或重复拖动)它们。具有相同名称的字段具有相同的值;无需计算或其他脚本。
我有一个包含计算的 PDF 文件。这个想法是,用户在一个简单的表格上输入信息,数据在同一个表格上被复制多次,这样他们就可以在同一个页面上打印同一个标签 4 次,而无需重新输入所有内容。因此,每个字段的计算结果为:
event.value = this.getField("Field1").value;
除非有人输入 dash/minus 符号,否则这很有效。然后计算 returns 0 而不是破折号。这是唯一发生这种情况的角色。我想是因为它本质上是数学的,但是 none 的其他操作符号却这样做了,所以我很困惑。
我正在使用 FoxIt PhantomPDF 创建带有公式的 PDF。在 Adobe Reader XI 中打开的完全相同的 PDF 可以完美运行。所以我不确定这是 JavaScript 问题还是 FoxIt 问题。谢谢!
您需要将 value
转换为数字,因为您得到的 value
是字符串。
event.value = parseFloat(this.getField("Field1").value);
当谈到将字段值从一个字段推送到另一个字段时,我通常使用
this.getField("fieldToPushValueTo").value = event.value ;
在验证事件中。有了这个,值被推入的字段仍然是可编辑的。
每次表单中的任何字段的值发生变化时,使用计算事件来传递字段值,并且不允许更改字段的值,因为它会立即被替换。
也许您可以附加一个空字符串以防止减号被解释为数学运算。
event.value = this.getField("Field1").value + "" ;
如果这两个字段具有相同的属性,只需复制(copy/paste 或重复拖动)它们。具有相同名称的字段具有相同的值;无需计算或其他脚本。