1

以下の例で既に機能する手動で作成された配列があります。

var PartsData = { 179: { ref:"",
                         partNum: "201-2007-C00-00",
                         descript: "System Monitor Card (Tracewell Only)",
                         cage: "39764",
                         qty: "1",
                         SMR: "XBOZZ",
                         UOC: "A" }};

上記の配列は、配列内の 1 つの値にすぎず、正常に動作します。これは、値を動的に変更するために使用しようとしている XML です。

  <?xml version="1.0" encoding="utf-8"?>
  <partsTables>
    <partsList>
      <part sheetNum="ta1">
        <breakDownIndexNo>-1 </breakDownIndexNo>
        <referenceDesg/>
        <indent>20534220P01 </indent>
        <description/>
        <cage>TAC RI, GRADE-A SHOCK (TEC RACK), ALT P/N 72304-1</cage>
        <qtyPerAssy>23991 </qtyPerAssy>
        <smr>1 </smr>
        <uoc>ADODD </uoc>
        <blank/>
      </part>
    </partsList>
  </partsTables>

この解析は、Acrobat で問題なく実行できます。ここで、これらの値を使用して配列を機能させたいと思います。以下があればうまくいきます。

part.item(i).indent.value は、インデント ノードの値などと同じです。

newArr = { 179: { 
                    ref: part.item(i).referenceDesg.value,
                    partNum: part.item(i).indent.value,
                    descript: part.item(i).cage.value,
                    cage: part.item(i).qtyPerAssy.value,
                    qty: part.item(i).smr.value,
                    SMR: part.item(i).uoc.value,
                    UOC: part.item(i).blank.value}};

直接 part.item(i).breakDownIndexNo.value を使用して、breakDownIndexNo ノードにある 179 値を動的にしようとするとすぐに、コンパイルされません。Acrobat は JavaScript を使用しているため、これを解析できない理由がわかりません。

breakDownIndexNo ノードから変数を作成して、文字列と整数の両方に入力しようとしました。これにより、配列を作成できますが、配列から出力することはできません。newArr[indexNum].partNum は「プロパティなし」を提供します。インデックス番号を手動で 179 に設定した場合、newArr[179].partNum は part.item(i).indent.value の値を出力します。

誰かがアイデアや答えを持っている場合は、私に知らせてください。

4

1 に答える 1

0

私は決してASの専門家ではありませんが、これは正しくありません:

partNum: '201-2007-C00-00",

文字列は ' を使用して開かれ、" を使用して閉じられますが、これは JS では機能しません

于 2009-08-27T18:20:24.430 に答える