2017-12-08 11 views
0

私は、アクロバットフォームのjavascriptを使用してオブジェクトのリストを作成しようとしています。しかし、通常使用されるjavascriptコードは動作しません。 これは私が使用していますコードです:javascriptを通常の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

これを修正するには2つの方法があります...行番号をキーとして使用しなければならず、オブジェクトの配列が必要な場合は、行番号を文字列に変更する必要があります。

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); 
    } 
} 
関連する問題