簡體   English   中英

Google Apps 腳本未收到多個復選框選擇

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM