从自定义对话框文本区域获取数据并将值添加到表格
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);
}
我正在尝试编写 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);
}