1

FormAPI for Teamsite を使用して xml ノードをループし、ノードの 1 つから値を削除する Javascript を作成しました。removeID 関数は、アラートが含まれている場合にのみ正しく機能します。アクションをさまざまな関数に分けて setTimeout() を配置しようとしましたが、何も機能しません。スクリプトは、ページが保存されて閉じられているときにのみ実行されるため、ページは間違いなく既に読み込まれています。他にアイデアはありますか?

これは機能します:

   function removeID(xPath) {

        if(xPath.getChildByName('path') != undefined && xPath.getChildByName('id') != undefined){
          if(xPath.getChildByName('path').getValue() == "" && xPath.getChildByName('id').getValue() != ""){

              xPath.getChildByName('id').setValue('');

            alert("replaced ");
          }
        }

        return true;
    }

これは機能しません (アラートなし):

      function removeID(xPath) {

        if(xPath.getChildByName('path') != undefined && xPath.getChildByName('id') != undefined){
          if(xPath.getChildByName('path').getValue() == "" && xPath.getChildByName('id').getValue() != ""){

              xPath.getChildByName('id').setValue('');

          }
        }

        return true;
    }
4

1 に答える 1

0

FormAPI は Javascript ではなく、Javascript に基づく HP 固有のフレームワークです。あなたのコードは XML (TeamSite の世界では DCR とも呼ばれます) を操作しようとしていますが、これは悪い習慣であり、悪い結果につながる可能性があります。

代わりに、IWItem オブジェクト、具体的にはおそらく IWItem.deleteInstance() メソッドを使用して結果を得る必要があります。

また、システムを「ハッキング」しないように、オートウーブンなどのベンダーからトレーニングを受けるようにしてください。

于 2013-11-18T21:37:47.363 に答える