[英]Google Apps Script not receiving multiple checkbox selections
我有一個接收表單數據的 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
上面函數創建的對象時,它顯示預期:
攝入_症狀:(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
獲取多個復選框
<script>
function getCheckedBoxes(chkboxName) {
var checkboxes = document.getElementsByName(chkboxName);
var rowsToArchive = [];
for (var i=0; i<checkboxes.length; i++)
{
if (checkboxes[i].checked)
{
rowsToArchive.push(Number(checkboxes[i].value));
}
}
google.script.run
.withSuccessHandler(setResponse)
.archiveSelectedRows(rowsToArchive);
}
</script>
從這個示例代碼
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.