【问题标题】:How do I pass the value of a HTML checkbox to Google Apps Script?如何将 HTML 复选框的值传递给 Google Apps 脚本?
【发布时间】:2015-01-27 16:14:20
【问题描述】:

问题:

如何将使用 Google 的 HTML 服务创建的复选框的值(或状态)从 HTML(在本例中为侧边栏 GUI)传递到 Code.gs 以执行检查?

我已经设法将所有其他数据从这里传递到 Code.gs。例如,文本框、日期、文本区域。但是,由于复选框本身没有“价值”,我不知道如何传递状态。

我的代码:

(不是整个脚本,因为它太大了)

在 HTHML 中:

<input id="complete" name="complete" type="checkbox" />

<script type="text/javascript">
  function formSubmit() {
    google.script.run.transferUpdates(document.forms[0]);
  }
</script>

在 Code.gs 中:

(同样不是整个代码文件)

function transferUpdates(form1){
  var ss = SpreadsheetApp.getActiveSpreadsheet(),
      sheet = ss.getSheetByName('Action Plan'),
      sheet2 = ss.getSheetByName('Problem Details'),
      actionnum = form1.actionup,
      desc = form1.description,
      check = form1.complete;

问题:

我的问题是“检查”变量从来没有比较值,因为 HTML 表单没有传递任何内容?

有没有人可以解决这个问题?

(我对 HTML 比较陌生,如果这是一个简单的答案,我深表歉意)

【问题讨论】:

  • 变量form1的值是多少?不明确的?空值? [对象对象]?您可以使用Logger.log('form1 value is: ' + form1); 语句将信息打印到LOGS。
  • 这是一个类似问题的答案:StackOverflow Form Submit

标签: javascript html checkbox google-apps-script google-sheets


【解决方案1】:

您可以向元素添加事件侦听器并传递值等。如果您想调用功能服务器端,请尝试此操作。

代码.gs

function doGet() {
  return HtmlService.createHtmlOutputFromFile('index').setSandboxMode(HtmlService.SandboxMode.IFRAME)
}

function getStuff(foo){
   Logger.log(foo)
}

index.html

<code>
<div>
<div id="mylabel"></div>
<input id="test" value="testing" type="checkbox">
<script>
document.getElementById('test').addEventListener("change", changeit);
function success(){document.getElementById('mylabel').innerHTML = 'success!'}
function changeit(){
  var v = document.getElementById('test').value;
  document.getElementById('mylabel').innerHTML = v;
  google.script.run.withSuccessHandler(success).getStuff("going IN")
}
</script>
</div>

【讨论】:

    【解决方案2】:

    我认为您需要做的就是手动设置复选框:

    check = (form1.complete) ? true : false; // false or true depending on checkbox
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-09-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-12-29
      相关资源
      最近更新 更多