2017-12-08 16 views
0

저는 Acrobat 형식의 javascript를 사용하여 객체 목록을 만들려고합니다. 하지만 일반적으로 사용되는 자바 스크립트 코드는 작동하지 않습니다. 이것은 사용중인 코드입니다.일반 자바 스크립트와 다른 자바 스크립트를 사용하여 acrobat에서 객체 목록 만들기?

function updatePage1(totalRows) 
{ 
    var B = []; 

    var totalRows = 25; 
    for(var i = 1; i <= 1; ++i) 
    { 
     app.alert(i); 
     app.alert(this.getField("CostHead"+i.toString()).value); 
     var costhead = this.getField("CostHead"+i.toString()).value; 
     B.push({ 
      1 : { cost : 0.00, val: costhead } 
     }); 

    } 

    var valu = B[1].cost; 
    app.alert(valu); 
} 

아무도 도와 줄 수 있습니까?

답변

0

이 문제를 해결하는 두 가지 방법이 있습니다. 행 번호를 키로 사용해야하며 개체 배열이있는 경우 행 번호를 문자열로 변경해야합니다.

function updatePage1(totalRows) 
{ 
    var B = []; 

    var totalRows = 25; 
    for(var i = 1; i <= 1; ++i) 
    { 
     app.alert(i); 
     app.alert(this.getField("CostHead"+i.toString()).value); 
     var costhead = this.getField("CostHead"+i.toString()).value; 
     B.push({ 
      "1" : { cost : 0.00, val: costhead } 
     }); 

    } 

    var valu = B["1"].cost; 
    app.alert(valu); 
} 

더 나은 해결 방법은 행 번호를 모두 버리고 필요한 객체를 얻기 위해 배열 순서에 의존하는 것입니다. 0에서 증분을 시작하십시오.

function updatePage1(totalRows) 
{ 
    var B = []; 
    var totalRows = 25; 
    for(var i = 0; i < totalRows; ++i) 
    { 
     app.alert(i); 
     app.alert(this.getField("CostHead")+(i+1).toString()).value); 
     var costhead = this.getField("CostHead"+(i+1).toString()).value; 
     B.push({ cost : 0.00, val: costhead }); 
     var valu = B[i].cost; 
     app.alert(valu); 
    } 
}