netsuite - Suitelet 上的提交按钮和客户端脚本按钮冲突。不锈钢 2.0
问题描述
我的套件表单上有 2 个按钮,标准提交按钮和客户端脚本按钮。clientScriptModulePath
如果我的套件代码中有 ,则提交按钮不会执行。一旦我删除clientScriptModulePath
,提交按钮开始工作。有人知道可能是什么原因吗?
套房:
function onRequest(context) {
log.debug('request type', context.request.method);
var form = serverWidget.createForm({ title: 'Item Search' });
if (context.request.method === 'GET') {
var rec_id = context.request.parameters.id;
log.debug('rec id', rec_id)
form.addButton({
id: 'custpage_btn_goback',
label: 'Go Back',
functionName: 'onBackButtonClick'
});
form.clientScriptModulePath = '../client/mx_itemsearch_filter_cs.js';
form.addSubmitButton({
label: 'Submit'
});
context.response.writePage(form);
}
else {
log.debug('POST', 'POST')
}
}
客户端脚本功能:
function onBackButtonClick() {//TODO:
try {
console.log('in back button')
var currRec = currentRecord.get();
var suiteletUrl = url.resolveScript({
scriptId: 'customscript_mx_itemsearch_sl',
deploymentId: 'customdeploy_mx_itemsearch_sl'
});
console.log(suiteletUrl)
window.open(suiteletUrl, '_self');
} catch (e) {
log.error({ title: fx, details: 'Error - Code: ' + e.code + ', Message: ' + e.message });
}
}
解决方案
您需要添加一个有效的客户端端点功能。端点函数可以只是一个空白函数。例子
function pageInit (context) {};
您的客户端脚本应该具有导出客户端端点功能和您的自定义功能。
return { pageInit: pageInit, onBackButtonClick: onBackButtonClick};
推荐阅读
- java - 在带有 Gradle 的 JavaExec 类路径中使用通配符
- java - FloatBuffer 占用越来越多的 RAM
- php - 我目前无法停止通过 ajax 调用在服务网页上播放音频
- sql - 如何用最大值标记行
- grails - 如何在 Linux(Ubuntu 18.04.1 LTS)上修复 Grails 2.4.4“错误:交互模式退出并出现错误”
- javascript - Krajee Bootstrap 文件输入无法通过大文件传递uploadExtraData
- python - 在两个远程服务器之间传输文件(在本地启动连接)
- javascript - 如何使用 AmCharts 构建曲线股票图表
- python - 如何提取身份验证以分离功能?
- css - 如何在 twitter bootsrap 中更改 Section 类 pt 100 的高度