You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Suitelet表单提交后保留textarea字段的值?

解决Suitelet提交后TEXTAREA值丢失的问题

1. Suitelet端:添加输入值回显逻辑

当前代码未将用户提交的cidn参数赋值给textarea字段,导致页面刷新后值丢失。需要在创建textarea字段后,将解码后的参数值设置为字段默认值,确保特殊字符(换行、空格、逗号等)正确显示:

if (context.request.method === 'GET') {
    var form = serverWidget.createForm({
        title: 'CON Numbers',
        hideNavBar: false
    });
    form.clientScriptFileId = CLIENT_SCRIPT_FILE_ID;

    var pageId = parseInt(context.request.parameters.page) || 0;
    var scriptId = context.request.parameters.script;
    var deploymentId = context.request.parameters.deploy;
    // 解码URL参数,还原含特殊字符的原始输入
    var cidnParam = context.request.parameters.cidn ? decodeURIComponent(context.request.parameters.cidn) : '';
    var download = context.request.parameters.download;

    var sublist = form.addSublist({
        id: 'custpage_table',
        type: serverWidget.SublistType.LIST,
        label: 'Sales Order Items'
    });

    sublist.addField({ id: 'id', label: 'Internal ID', type: serverWidget.FieldType.TEXT });
   
    var cidnField = form.addField({
        id: 'custpage_enter_cidn',
        label: 'Enter CON Numbers',
        type: serverWidget.FieldType.TEXTAREA
    });
    // 设置默认值,回显用户提交的原始内容
    cidnField.defaultValue = cidnParam;
   
    form.addSubmitButton({
        id: 'custpage_submit',
        label: 'Submit'
    });

    context.response.writePage(form);
}

2. 客户端脚本:正确传递含特殊字符的输入值

在saveRecord方法中,需对textarea的原始值进行URL编码,避免换行、特殊字符在传递过程中被破坏:

function saveRecord() {
    // 获取textarea的原始输入值
    var cidnValue = document.getElementById('custpage_enter_cidn').value;
    // 编码值,确保所有特殊字符能正确传递
    var encodedCidn = encodeURIComponent(cidnValue);
    
    // 构造GET请求URL,拼接参数
    var scriptId = nlapiGetContext().getScriptId();
    var deployId = nlapiGetContext().getDeploymentId();
    var targetUrl = nlapiResolveURL('SUITELET', scriptId, deployId, true) + '&cidn=' + encodedCidn;
    
    // 跳转回Suitelet页面
    window.location.href = targetUrl;
    return false; // 阻止默认表单提交行为
}

核心注意点

  • 编码/解码配对:使用encodeURIComponent编码输入值,再用decodeURIComponent解码参数,能完整保留换行、空格、逗号、竖线等所有特殊字符。
  • 回显时机:在GET请求分支中设置textarea的defaultValue,确保页面刷新后直接显示用户的原始输入内容。

内容的提问来源于stack exchange,提问作者Maira S

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.13 11:48:24