我编写了一些使用FormAP的FormAPI循环遍历xml节点的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;
}
答案 0 :(得分:0)
FormAPI不是Javascript,而是基于Javascript的HP特定框架。您的代码正在尝试操纵XML(在TeamSite世界中也称为DCR),这是一种不好的做法,可能会导致错误的结果。
相反,你需要IWItem对象,特别是IWItem.deleteInstance()方法来实现结果。
您还应该尝试从autowoven这样的供应商那里接受一些培训,这样您就不会“破解”系统。