如何从服务器端将 N/ui/message 横幅呈现为表单?
How do I render an N/ui/message banner into a form from the server side?
我有一个 suitelet,它显示一个用 N/ui/serverWidget 创建的表单,我想在表单顶部显示一条消息。但是,所有 N/ui/message 文档都说它仅适用于客户端脚本。有没有办法在不构建单独的客户端脚本的情况下显示这样的横幅?
是的,使用Form.addPageInitMessage()
函数。它允许您传入消息或与 message.create()
相同的选项,并在加载表单时显示它。
这是一个完整的例子:
/**
* Example of how to use Form.addPageInitMessage() to display a notice
* on a server-rendered form.
* @NApiVersion 2.x
* @NScriptType Suitelet
*/
define(['N/ui/serverWidget', 'N/message'], function(ui, message) {
function onRequest(context) {
var form = ui.createForm({
title: 'Example Form',
});
form.addSubmitButton({label: 'Submit'});
form.addField({
id: 'input',
type: ui.FieldType.TEXT,
label: 'Input',
});
form.addPageInitMessage({
type: message.Type.INFORMATION,
title: 'Message!',
message: 'A wild message appears!',
});
context.response.writePage(form);
}
return {
onRequest: onRequest,
};
});
我有一个 suitelet,它显示一个用 N/ui/serverWidget 创建的表单,我想在表单顶部显示一条消息。但是,所有 N/ui/message 文档都说它仅适用于客户端脚本。有没有办法在不构建单独的客户端脚本的情况下显示这样的横幅?
是的,使用Form.addPageInitMessage()
函数。它允许您传入消息或与 message.create()
相同的选项,并在加载表单时显示它。
这是一个完整的例子:
/**
* Example of how to use Form.addPageInitMessage() to display a notice
* on a server-rendered form.
* @NApiVersion 2.x
* @NScriptType Suitelet
*/
define(['N/ui/serverWidget', 'N/message'], function(ui, message) {
function onRequest(context) {
var form = ui.createForm({
title: 'Example Form',
});
form.addSubmitButton({label: 'Submit'});
form.addField({
id: 'input',
type: ui.FieldType.TEXT,
label: 'Input',
});
form.addPageInitMessage({
type: message.Type.INFORMATION,
title: 'Message!',
message: 'A wild message appears!',
});
context.response.writePage(form);
}
return {
onRequest: onRequest,
};
});