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 版
我做错了什么?
你的例子有很多问题。
你实际上并没有写表格。最终你需要:
context.response.writePage(表格);
您要调用的函数只在服务器上。它未在客户端上定义。您需要包含具有该功能的客户端脚本:
form.clientScriptModulePath = './myFormClient.js';
假设我有以下代码片段,它基本上是一个附有按钮的表单。单击时,我想执行一个函数:
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 版
我做错了什么?
你的例子有很多问题。
你实际上并没有写表格。最终你需要:
context.response.writePage(表格);
您要调用的函数只在服务器上。它未在客户端上定义。您需要包含具有该功能的客户端脚本:
form.clientScriptModulePath = './myFormClient.js';