非常,这里非常新的JavaScript ..我一直试图用acrobat自动填充制作角色表,到目前为止,我在大多数事情上取得了很好的成功,直到比较两个值。
MaxDex可以是大于0的整数,DexTempMod和DexMod可以是-10到10之间的整数。如果dexTempMod和DexMod为正,则下面的代码效果很好 - 如果它们大于MaxDex,它将输出相反,MaxDex。
但是如果DexTempMod或DexMod是负值,它仍然会输出MaxDex,尽管其他的更低。我经过一些研究后尝试将它们解析成浮点数,认为它们可能是字符串,但它仍然无效。
如果它只是Acrobat的限制,那很好,但我有点难过。
if (this.getField("MaxDex").value == ""){if (this.getField("DEXTempMod").value == "")
{event.value = this.getField("DEXMod").value}
else {event.value = this.getField("DEXTempMod").value};
}
else {if (Float.parseFloat(this.getField("MaxDex").value) < Float.parseFloat(this.getField("DEXTempMod").value) || Float.parseFloat(this.getField("DEXMod").value))
{event.value = this.getField("MaxDex").value}
else {if (this.getField("DEXTempMod").value == "")
{event.value = this.getField("DEXMod").value}
else {event.value = this.getField("DEXTempMod").value};}
}
答案 0 :(得分:0)
您不需要使用Float.parseFloat。只需确保字段格式化为字段属性中的数字。
||之后没有比较在你的外部else语句中,所以任何值都会在else语句中评估为true,因为即使空字段也有值。