我有一个旧的Suitescript1.0用户事件脚本,在BeforeLoad上,我在子列表中的一个按钮上更改一个标签。(注意,这是子列表上的一个按钮,而不是表单的主标题上的按钮,为了这样做,我做了如下操作:
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版本中,我想知道如何做到这一点。我原以为我会调用基于getButton的context.form,但在这种情况下,它似乎找不到按钮。尽管在子列表中存在addButton的方法,但它似乎没有一个getButton。我知道我可以使用JQuery,但这似乎有点易碎。
发布于 2021-02-23 18:51:40
最后,我不得不将我想要的逻辑放入一个客户端脚本中,并将其从pageInit中取消。我要做的是使用本机javascript并定位按钮(通过document.ElementById() ),当我得到该元素时,我能够更改该值。这并不是理想的方法,但是2.0似乎不允许您像1.0那样在子列表中定位按钮。
发布于 2021-02-22 19:16:42
在Netsuite帮助部分中搜索
SuiteScript 1.0到SuiteScript 2.0 API映射
获取按钮对象后,使用label属性获取或设置按钮标签的值。
var myButton = form.getButton({
id : 'buttonid'
});
myButton.label = "New Label Text"https://stackoverflow.com/questions/66267484
复制相似问题