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() для достижения результата.

Вы также должны попытаться пройти обучение у продавца, такого как тканые материалы, чтобы не "взломать" систему.

Другие вопросы по тегам