SuiteScript 2.0 addButton 应该调用一个函数吗?

SuiteScript 2.0 addButton should call a function?

假设我有以下代码片段,它基本上是一个附有按钮的表单。单击时,我想执行一个函数:

define(['N/ui/serverWidget', 'N/search', 'N/https'],
function(serverWidget, search, https) {
function onRequest(context) {
  if (context.request.method === 'GET') 
  {
    var form = serverWidget.createForm({
      title: 'Some Form'
    });
    // some code
    form.addButton({
      id : '_buttonId',
      label : 'Button Label',
      functionName: "someFunctinonIWantToCallOnClick(myParam)"
    });
      context.response.writePage(form)
    } else {
      // some other code
    }
  }
function someFunctinonIWantToCallOnClick(myParam)
{
  // some code
}
return {
  onRequest: onRequest
};
});

根据 NetSuite 的文档: options.functionName string optional

点击事件触发的函数名。 版本 2016 第 1 版

我做错了什么?

你的例子有很多问题。

  1. 你实际上并没有写表格。最终你需要:

    context.response.writePage(表格);

  2. 您要调用的函数只在服务器上。它未在客户端上定义。您需要包含具有该功能的客户端脚本:

    form.clientScriptModulePath = './myFormClient.js';