javascript - Google Apps 脚本未收到多个复选框选择
问题描述
我有一个接收表单数据的 WebApp。部分数据来自复选框:
<form id="intakeForm" class="labels-hidden-form custom-form" action="/new-patient-form/"
enctype="multipart/form-data" novalidate="novalidate">
<input type="checkbox" name="intake_symptoms" value="coughing">Coughing<br>
<input type="checkbox" name="intake_symptoms" value="sneezing">Sneezing<br>
<input type="checkbox" name="intake_symptoms" value="vomiting">Vomiting<br>
我正在使用以下函数来序列化所有表单数据以发送到 GAS。
(function ($, a) {
$.fn.serializeObject = function () {
var b = {};
$.each(this.serializeArray(), function (d, e) {
var f = e.name,
c = e.value;
b[f] = b[f] === a ? c : $.isArray(b[f]) ? b[f].concat(c) : [b[f], c];
});
return b;
};
})(jQuery);
当我console.log
使用上面的函数创建的对象时,它会显示 s 预期:
摄入症状:(2)[“咳嗽”,“呕吐”]
但是,当我在 GAS 和对象的响应中将值发回时,console.log
它只显示第一个复选框
摄入症状[]:“咳嗽”
这是我用来将提交的值发送回网页的代码
function doGet(e) {
var params = e.parameter
var result = {};
try {
result = {
status: start(params),
rawVals: params,
errs: errors
}
} catch (f) {
result.error = f.toString();
}
return ContentService
.createTextOutput(e.parameters.callback + '(' + JSON.stringify(result) + ')')
.setMimeType(ContentService.MimeType.JAVASCRIPT);
}
我在这里不知所措。我是否需要以不同的方式将复选框值发送到我的脚本?
解决方案
问题:
var params = e.parameter
e.parameter
只返回第一个值
解决方案:
- 改为使用
e.parameters
。
参考:
片段:
var params = e.parameters;//modified
推荐阅读
- azure - 使用 Azure Powershell(AZ 模块)为 Dynamics CRM Online 设置 Azure Ad Api 权限
- c# - .Net Core WebApi OAuth2 授权类型
- java - 如何在 Java 中更改日期和时间格式
- c# - foreach 循环中的多个碰撞器
- sqlite - 得到
在 - php - Laravel Livewire 分页
- django - 如何在@action 视图中使用 DRF OrderingFilter?
- python - Python 正则表达式计时器改进
- android - “无法为模拟器构建应用程序。” “在 iPhone 11 上启动应用程序时出错。”
- git - 从在 gitlab 上创建的终端访问新分支