1

我编写了一些 Javascript,它使用 Teamsite 的 FormAPI 循环遍历 xml 节点,并从其中一个节点中删除一个值。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() 方法来实现结果。

您还应该尝试从像autowoven这样的供应商那里获得一些培训,这样您就不会“破解”系统。

于 2013-11-18T21:37:47.363 回答