簡體   English   中英

PDF 自動填充使用 javascript 嵌套 if 語句錯誤

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM