2017-05-20 46 views
0

我剛剛進入Javascript和我正在編輯的charactersheet一個pdf在RPG我和一些朋友一起玩,以方便使用。我希望它在自動填寫表單 - 現在爲止,我已經得到了它的工作,但我不知道如果沒有辦法凝聚我的代碼位,使其少重複?PDF使用Javascript - 設置字段值

var one = this.getField("Stat.0.0"); 
var statfield = this.getField("Text100.0.1"); 

if(one.value=="1"){ 
statfield.value="-30"; 
} 
if(one.value=="2"){ 
statfield.value="-20"; 
} 
if(one.value=="3"){ 
statfield.value="-10"; 
} 
if(one.value=="4"){ 
statfield.value="-5"; 
} 
if(one.value=="5"){ 
statfield.value="0"; 
} 
if(one.value=="6"||one.value=="7"){ 
statfield.value="5"; 
} 
if(one.value=="8"||one.value=="9"){ 
statfield.value="10"; 
} 
if(one.value=="10"){ 
statfield.value="15"; 
} 
if(one.value=="11"||one.value=="12"){ 
statfield.value="20"; 
} 
if(one.value=="13"||one.value=="14"){ 
statfield.value="25"; 
} 
if(one.value=="15"){ 
statfield.value="30"; 
} 
if(one.value=="16"||one.value=="17"){ 
statfield.value="35"; 
} 
if(one.value=="18"||one.value=="19"){ 
statfield.value="40"; 
} 
if(one.value=="20"){ 
statfield.value="45"; 
} 

關於清理這件事的任何提示?

+0

https://developer.mozilla.org/hu/docs/Web/JavaScript/Reference/聲明/開關 – cske

回答

1

使用switch()代替if語句。不要忘記break的:

var one = this.getField("Stat.0.0").value(); 
var statfield = this.getField("Text100.0.1"); 

var oneval = one.value; 
switch (oneval) { 
    case "1": 
     statfield.value = "-30"; 
     break; 
    //case... 
    case ("1" || "7"): 
     statfield.value = "5"; 
     break; 
    //case... 
    default: 
     break; 
} 

或(通知breakcase "7"):

switch (oneval) { 
    //case... 
    case "1": 
    case "7": 
     statfield.value = "5"; 
     break; 
    //case... 
} 
相關問題