从自定义对话框文本区域获取数据并将值添加到表格

Take data from custom dialogbox textarea and add the values to Sheets

我正在尝试编写 Google Sheets 脚本来输入地址、解析地址并将特定行写入特定单元格。

这是我的对话框:

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 函数分配给一个变量,但它根本不调用对话框。我很困惑。

试试这个。基本上,您需要 运行 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);
}