如何利用外部表单并使用 SuiteScript 从外部表单检索 POST 数据?
How to utilize external form and retrieve POST data from external form using SuiteScript?
如果有一个发布一些安全用户数据的外部表单,然后想要从表单中获取 POST 数据以流入 NetSuite,是否有办法在 SuiteScript 中完成此操作?使用 iframe 显示表单的简单示例:
define(['N/ui/serverWidget'],
function(serverWidget) {
function onRequest(context) {
var func = 'test';
var request = context.request;
var url = 'https://www.sample.com/sample-form.html'; // Not a real form
var title = 'TEST';
if(request.method == 'GET') {
try {
var content = '<iframe width=960px height=100% style="height:640px;" src=' + url + '></iframe>'
var newForm = serverWidget.createForm({
title: title
});
var newField = newForm.addField({
id: 'custpage_form',
type: serverWidget.FieldType.INLINEHTML,
label: 'TEST'
});
newField.defaultValue = content;
context.response.writePage(newForm);
}
catch(e){
log.error(func, JSON.stringify(e));
}
}
else {
}
}
return {
onRequest: onRequest
};
});
您可以使用 window.postMessage
从外部表单传递数据,并在 suitelet 上添加客户端脚本以使用 window.addEventListener
.
收听数据
要在表单上附加客户端脚本,您可以使用以下方法
newForm.clientScriptModulePath = './FILE_PATH_TO_CLIENT_SCRIPT';
其中 newForm
是从 serverWidget.createForm
返回的 form
对象,在客户端脚本中,您可以使用 pageInit 来初始化 eventListener.
如果有一个发布一些安全用户数据的外部表单,然后想要从表单中获取 POST 数据以流入 NetSuite,是否有办法在 SuiteScript 中完成此操作?使用 iframe 显示表单的简单示例:
define(['N/ui/serverWidget'],
function(serverWidget) {
function onRequest(context) {
var func = 'test';
var request = context.request;
var url = 'https://www.sample.com/sample-form.html'; // Not a real form
var title = 'TEST';
if(request.method == 'GET') {
try {
var content = '<iframe width=960px height=100% style="height:640px;" src=' + url + '></iframe>'
var newForm = serverWidget.createForm({
title: title
});
var newField = newForm.addField({
id: 'custpage_form',
type: serverWidget.FieldType.INLINEHTML,
label: 'TEST'
});
newField.defaultValue = content;
context.response.writePage(newForm);
}
catch(e){
log.error(func, JSON.stringify(e));
}
}
else {
}
}
return {
onRequest: onRequest
};
});
您可以使用 window.postMessage
从外部表单传递数据,并在 suitelet 上添加客户端脚本以使用 window.addEventListener
.
要在表单上附加客户端脚本,您可以使用以下方法
newForm.clientScriptModulePath = './FILE_PATH_TO_CLIENT_SCRIPT';
其中 newForm
是从 serverWidget.createForm
返回的 form
对象,在客户端脚本中,您可以使用 pageInit 来初始化 eventListener.