只是尝试使用 pdf 表单(使用 Foxit phantom),并且能够根据我需要的(非常简单的表单)了解一些使用 Javascript 进行计算的基础知识。 但这个问题我不知道如何解决,也不知道如何正确搜索答案,所以欢迎任何帮助/指示。 我正在尝试这样的方法作为字段上的“计算”:
var x=this.getField ("TextField1");
var y=this.getField ("NumberField1");
var z=this.getField ("NumberField2");
if (x.value = "A") {z.value=(50+y.value);}
else if (x.value = "B","C") {z.value=(100+y.value);}
else if (x.value = "D") {z.value=(200+y.value);}
else {z.value="Type an appropriate letter on TextField1"}
但是当我输入它时,它会强制 TextField1 填充“A”(或我在第一个条件下写的任何内容。数字总和被正确添加(对于“A”,50+y),但如果我尝试要在 TextField1
上键入其他字母,它会删除并返回“A”,强制它成为该字段上的唯一内容。
即使在第一个条件上将 A 切换到 B 后,它也会在 textfield1 上更改为强制“B”,但随后数字总和不会调整为 (100+y)
,但这似乎是由于我对过去的一些 C++ 代码不存在经验,又出现了另一个错误...
这个想法是根据用户在 TextField1
上键入的内容添加到 NumberField2 中,但代码会强制将文本添加到其中。
这可能绝对是微不足道的,如果这个网站不是此类事情的媒介,我很抱歉,但我真的不知道在谷歌上搜索什么。
最佳答案
在 Javascript 中,你必须使用 == 进行比较,单个 = 是一个赋值。 所以你要做的就是始终将 TextField1.value 设置为“A”
尝试 if (x.value == "A") {z.value=(50+y.value);}
(其他条件也同样)
var x=this.getField ("TextField1");
var y=this.getField ("NumberField1");
var z=this.getField ("NumberField2");
if (x.value == "A") {z.value=(50+y.value);}
else if ((x.value == "B") || (x.value == "C")) {z.value=(100+y.value);}
else if (x.value == "D") {z.value=(200+y.value);}
else {z.value="Type an appropriate letter on TextField1"}
关于javascript - 如何在不强制的情况下添加条件文本? [101,pdf格式],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36317586/