Javascript работает только с предупреждением
Я написал Javascript, который проходит через узлы xml, используя FormAPI для Teamsite, и удаляет значение из одного из узлов. Функция 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;
}
1 ответ
FormAPI - это не Javascript, а специфическая среда HP, основанная на Javascript. Ваш код пытается манипулировать XML (также называемым DCR в мире TeamSite), что является плохой практикой и может привести к плохим результатам.
Вместо этого вам потребуется объект IWItem, в частности, возможно, метод IWItem.deleteInstance() для достижения результата.
Вы также должны попытаться пройти обучение у продавца, такого как тканые материалы, чтобы не "взломать" систему.