Suitescript 2.0 获取子列表上的按钮

Suitescript 2.0 Get Button on a sublist

我有一个较旧的 Suitescript 1.0 用户事件脚本,我在 BeforeLoad 上更改了子列表中按钮上的标签。 (请注意,这是子列表上的按钮,而不是表单主 header 上的按钮 为了做到这一点,我做了这样的事情:

function changePackageContentsButtonLabel(type, form, request) 
    {
      var mySublist = form.getSubList('recmachcustrecord_tst_my_sublist');
      if(mySublist != null)
      {
        var NewButton = mySublist .getButton('newrecrecmachcustrecord_tst_my_sublist');
        if(NewButton != null)
        {
          NewButton .setLabel('New Label Text');
        }
      }
}

效果很好,因为我可以根据对 sublist.getButton

的调用找到按钮

在 2.0 中,我想知道如何做到这一点。 我原以为我会调用基于 context.form 的 getButton,但在那种情况下它似乎找不到按钮。尽管有子列表上的 addButton 方法,但似乎没有 getButton。我知道我可以使用 JQuery 但它看起来可能有点脆弱。

在 Netsuite 帮助部分搜索

SuiteScript 1.0 to SuiteScript 2.0 API Map

获取按钮对象后,使用 label 属性 获取或设置按钮标签的值。

var myButton = form.getButton({
    id : 'buttonid'
});

myButton.label = "New Label Text"

我最终不得不将我想要的逻辑放入客户端脚本并从 pageInit 调用它。我必须做的是使用本机 javascript 并找到按钮(通过 document.ElementById() 并且当我得到该元素时我能够更改值。这不是所需的方式但似乎2.0 不允许您像 1.0 那样在子列表上定位按钮。