[英]PDF autofill using javascript nested if statement error
我有一個帶有兩個輸入文本框的 pdf。 1.) 項目代碼和 2.) 項目
我正在嘗試根據“項目代碼”填充“項目”,但嵌套語句為我提供了所有情況下第一個 else if 條件的數據。 例如,對於代碼 5009113,我應該得到“20% 100 ML”,對於代碼 5009111,我應該得到“25% 50ML”,依此類推。 相反,對於項目代碼中的任何和所有值,我都會得到“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
。 這被認為是一個“真實”的陳述,因此它的評估結果為true
,因此else if
。
而不是這個,你應該使用比較運算符===
。 還要看看這個關於==
和===
之間區別的問題 - 以及為什么在這里使用===
更好。
我個人更喜歡使用空格字符來分隔表達式的各個部分:
else if (RXC === 5009113)
它使(對我而言)更容易看到發生了什么 - 並且更容易發現我可能使用=
而不是===
的地方。
但我建議重新編寫整個代碼部分以使用帶有大括號的“if/else”,如下所示:
if (v === "") {
event.value = "";
} else if (RXC === 5009113) {
event.value = "20% 100ML";
} else if (RXC === 5009111) {
event.value = "25% 50ML";
} ...
如評論中所述,使用switch 語句可能更好。 這將比幾個 if/else 語句更簡潔:更易於閱讀、調試和維護。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.