使用 suitescript 2.0 在 netsuite 中创建表单

Creating form in netsuite using suitscript 2.0

var formData = new FormData();
 formData.append("name", "John");
 formData.append("age", "31");
 for (var value of formData.values()) {
             log.debug(value); 
                }

但是当我想使用 formData api 记录表单值时。它给出以下错误。
ReferenceError: "FormData" 未定义。

FormData 是一个 client side API managed under XMHttpRequest

UserEvent 脚本是服务器端脚本,根本没有基于浏览器的 API。

因此您可以在客户端脚本中使用 FormData 将信息发送到 Suitelet 或 RESTlet,但它不存在于 UserEvent 脚本中。

如果您想使用 SS2.0 在 Suitelet 中创建表单,您可以使用以下示例:

/**
 *@NApiVersion 2.x
 *@NScriptType Suitelet
 */
define(["N/log", "N/redirect", "N/runtime", "N/ui/serverWidget", "N/url", "./kotnRECBCFilters"], 
    function (log, redirect, runtime, ui, url, kotnRECBCFilters_1) {
    function showPropertiesForm(context) {
        var form = ui.createForm({
            title: 'Property Trust Ledger'
        });
        var req = context.request;
        var fromLoc = form.addField({
            id: 'custpage_loc',
            type: ui.FieldType.SELECT,
            label: 'For Property',
            source: 'location'
        });
        fromLoc.updateLayoutType({ layoutType: ui.FieldLayoutType.NORMAL });
        fromLoc.updateBreakType({ breakType: ui.FieldBreakType.STARTCOL });
        if (req.parameters.custpage_loc) {
            fromLoc.defaultValue = req.parameters.custpage_loc;
        }
        var notAfterDate = form.addField({
            id: 'custpage_not_after',
            type: ui.FieldType.DATE,
            label: 'On or Before'
        });
        if (req.parameters.custpage_not_after) {
            notAfterDate.defaultValue = req.parameters.custpage_not_after;
        }
        form.addSubmitButton({
            label: 'Get Detail'
        });

        //... bunch of stuff removed

        context.response.writePage(form);
    }

    function onRequest(context) {
        if (context.request.method === 'POST') {
            var currentScript = runtime.getCurrentScript();
            var params = {};
            for (var k in context.request.parameters) {
                if (k.indexOf('custpage_') == 0 && k.indexOf('custpage_transactions') == -1) {
                    if ((/^custpage_.*_display$/).test(k))
                        continue;
                    params[k] = context.request.parameters[k];
                }
            }
            redirect.toSuitelet({
                scriptId: currentScript.id,
                deploymentId: currentScript.deploymentId,
                parameters: params
            });
            return;
        }
        showPropertiesForm(context);
    }
    exports.onRequest = onRequest;
});