HTML表单逗号替换为#后提交失效,如何修复?
问题修复方案
你的代码出错的核心原因是:错误地对字符串使用了嵌套map遍历。form_values数组里的每个元素是表单输入的字符串值,不是子数组,对字符串调用map会遍历单个字符,完全偏离了替换逗号的需求,最终导致数据处理异常,引发提交失败。
修正后的代码
var name = $('#name01').val(); var description = $('#description').val(); var option1 = $('#Option1').val(); var option2 = $('#Option2').val(); var form_values = [name, description, option1, option2]; // 直接对每个字符串执行逗号替换,无需嵌套map form_values = form_values.map(value => value.replaceAll(",", "#")); var data = form_values.join(","); google.script.run.saveDataAsCSV(data, uploadParentFolderId);
额外容错优化(可选)
如果存在用户未输入导致表单值为undefined的情况,可以添加空值兜底,避免replaceAll调用报错:
form_values = form_values.map(value => (value || "").replaceAll(",", "#"));
内容的提问来源于stack exchange,提问作者Tyrone Hirt
相关产品推荐
相关产品推荐

