PDF自动填充使用javascript嵌套if语句错误



我有一个带有两个输入文本框的pdf。1.(项目代码和2.(项目

我正试图填充";项目";基于";项目代码";但是嵌套语句为我提供了以下所有情况的第一个else-if条件的数据。例如,我应该得到";20%100毫升";对于代码5009113;25%50ML";对于代码5009111等等;20%100ML";用于项代码中的任何和所有值。请帮我一下:(

var v = this.getField("Item Code").valueAsString; 
var RXC = Number(v); 
if (v=="") event.value = ""; 
else if (RXC=5009113) event.value = "20% 100ML"; 
else if (RXC=5009111) event.value = "25% 50ML";
else if (RXC=5009112) event.value = "25% 100ML";
else if (RXC=5009099) event.value = "5% 250ML";
else if (RXC=5009110) event.value = "5% 500ML";

else if语句中的条件包含以下表达式:

RXC=5009113

这是一个赋值表达式:将值5009113赋值给变量RXC。这被认为是";truthy;语句,因此它计算为true,因此不再考虑else if语句。

相反,您应该使用比较运算符===。还可以看看这个关于=====之间的区别的问题,以及为什么在这里使用===更好。

我个人更喜欢使用空白字符来分隔表达式的各个部分:

else if (RXC === 5009113)

这让(我(更容易看到发生了什么,也更容易发现我可能在哪里使用了=而不是===

但我建议重新处理整个代码部分,使用";如果/否则";带大括号,如下所示:

if (v === "") {
event.value = "";
} else if (RXC === 5009113) {
event.value = "20% 100ML"; 
} else if (RXC === 5009111) { 
event.value = "25% 50ML";
} ...

正如评论中提到的那样,使用switch语句可能会更好。这将比几个if/else语句更简单:更易于阅读、调试和维护。

相关内容

  • 没有找到相关文章

最新更新