使用GAS将用户输入从html设置为google工作表中的值

时间:2017-12-21 09:21:00

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

我有一些带有JS的HTML代码如下:

    <form>
    Object: <input type="text" name="object">
<br>
brand: <input type="text" name="brand">
<br> 
<br>
 color: <input type="text" name="color">
<br>

<input type="submit" value="Submit"onclick="doTest()">
</form>
  <h3>Results</h3>
  formValues.object = <span id="object"></span><br>
  formValues.brand = <span id="brand"></span><br>
  formValues.color = <span id="color"></span><br>

<script id="jsbin-javascript">
    var formValues = {};
function inputObj(formNR, defaultValues) { 
  var inputs = formNR.getElementsByTagName('input');
  for ( var i = 0; i < inputs.length; i++) {
    formValues[inputs[i].name] = defaultValues[i];
    if(inputs[i].type === 'text') {
      inputs[i].value = defaultValues[i];                            
      document.getElementById(inputs[i].name).innerHTML = defaultValues[i];
    }
    inputs[i].addEventListener('keyup', function() {
      formValues[this.name] = this.value;
      document.getElementById(this.name).innerHTML = this.value;
    }, false);
  }
}
var defValues =['','',''];
inputObj(document.forms[0], defValues); 


</script>

当用户输入一些文本时,该文本将变为变量。例如,有一个名为&#34; formValues.object&#34;的变量。然后我想获取此变量的值并使用以下代码将其写入google工作表

      function doTest() {
      SpreadsheetApp.getActiveSheet().getRange('I2').setValue("   ");
      }

问题是,由于我要输入的数据是一个变量,我不知道我必须在.setValue括号之间放置什么,以便变量存储的数据出现在google表格的单元格I2中按下提交按钮(我已经想出如何将提交按钮与功能链接)。

1 个答案:

答案 0 :(得分:0)

如果您的值是一个对象,并且您想将其放入单个单元格中,则需要将该变量转换为字符串。

  function doTest() {
  SpreadsheetApp.getActiveSheet().getRange('I2').setValue(JSON.stringify(MyVariable));
  }