从自定义对话框textarea获取数据并将值添加到表格

时间:2015-03-10 10:04:55

标签: google-apps-script google-sheets

我正在尝试编写一个Google表格脚本来获取地址的输入,解析它并将特定行写入特定单元格。

这是我的对话框:

function doGet(){
  var html = HtmlService.createHtmlOutputFromFile('index').setSandboxMode(HtmlService.SandboxMode.IFRAME);
  SpreadsheetApp.getUi().showModalDialog(html, "Enter Address for PO#" + PONum);
}

这是它的民意调查的HTML代码:

<script>
function parseA(){
var addA = Document.getElementById('addressA').value;
return addA
google.script.host.close()
}
</script>

<div>
<textarea id="addressA" name="textarea" rows="10" cols="50"></textarea>
<input type="button" value="Close" style="margin-top: 20px" onclick="parseA()" />
</div>

我的问题是我似乎无法将数据传递给脚本。我尝试将showModalDialog函数分配给变量,但它根本不会调用对话框。我很难过。

1 个答案:

答案 0 :(得分:3)

试试这个。基本上你需要运行google.script.run。(变量)来获取信息回到.gs文件,这样就可以将它输入到电子表格中。

HTML

 <div>
    <textarea id="addressA" name="addressA" rows="10" cols="50">sdf</textarea>
    <input type="button" value="Close" style="margin-top: 20px" onclick="parseA()" />
    </div>

    <script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
     <script>
    function parseA(){
   var addA = $('#addressA').val();
    google.script.run.withSuccessHandler(close).addData(addA);

    }

    function close(){
      google.script.host.close();
    }
    </script>

.GS

function doGet(){
  var html = HtmlService.createHtmlOutputFromFile('index').setSandboxMode(HtmlService.SandboxMode.IFRAME);
  SpreadsheetApp.getUi().showModalDialog(html, "Enter Address for PO#" + PONum);
}

function addData(data){
Logger.log(data);
}