名为 Google 的 html 服务上的提交按钮无法正常工作
Submit button on html service called Google form not working
google sheet 中的此函数确实会弹出 window 表单,但提交按钮已失效。缺少什么可以使这个 window 成为现实?
function launchForm() {
var formID = '1YznrnFFIfXLpsZfsIZ4xjhlwmi8eLv_nTuOjDKGhwIc';
var form = FormApp.openById(formID);
var formUrl = form.getPublishedUrl();
var response = UrlFetchApp.fetch(formUrl);
var formHtml = response.getContentText();
var htmlApp = HtmlService
.createHtmlOutput(formHtml)
.setSandboxMode(HtmlService.SandboxMode.IFRAME)
.setTitle('Ta Daaa!')
.setWidth(500)
.setHeight(650);
SpreadsheetApp.getUi().showModalDialog(htmlApp, 'Query window');
}
该函数挂钩到一个菜单项,单击该项目确实会在 sheet 上弹出表单,运行 来自附加到 [=24 的脚本项目的脚本也是如此=].
menuEntries.push({name: "Launch Query form", functionName: "launchForm"});
这个特殊的表格很简单,只有三个字段。所以我可以考虑使用 HTML 服务来构建一个 HTML 并且我看到很多关于它也不起作用的问题,所以我可能会解决这个问题。但是,我还有其他更复杂的表格,我更愿意从 spreadsheet 中简单地调用常规 Google 表格。
将Google表单的URL嵌入到对话框的HTML中:
Code.gs
function launchForm() {
var htmlApp = HtmlService
.createHtmlOutputFromFile('InputForm')
.setSandboxMode(HtmlService.SandboxMode.IFRAME)
.setTitle('Ta Daaa!')
.setWidth(500)
.setHeight(650);
SpreadsheetApp.getUi().showModalDialog(htmlApp, 'Query window');
}
InputForm.html
<!DOCTYPE html>
<html>
<head>
<base target="_top">
</head>
<body>
<iframe src="https://docs.google.com/forms/d/e/FormIDHere/viewform?embedded=true" width="760" height="500" frameborder="0" marginheight="0" marginwidth="0">Loading...</iframe>
</body>
</html>
在 "New" Google 表单中,您可以获得 IFRAME 标签以嵌入 Google 表单,方法是单击右上角的 "Send" 按钮,然后单击第三个选项卡“<>”
google sheet 中的此函数确实会弹出 window 表单,但提交按钮已失效。缺少什么可以使这个 window 成为现实?
function launchForm() {
var formID = '1YznrnFFIfXLpsZfsIZ4xjhlwmi8eLv_nTuOjDKGhwIc';
var form = FormApp.openById(formID);
var formUrl = form.getPublishedUrl();
var response = UrlFetchApp.fetch(formUrl);
var formHtml = response.getContentText();
var htmlApp = HtmlService
.createHtmlOutput(formHtml)
.setSandboxMode(HtmlService.SandboxMode.IFRAME)
.setTitle('Ta Daaa!')
.setWidth(500)
.setHeight(650);
SpreadsheetApp.getUi().showModalDialog(htmlApp, 'Query window');
}
该函数挂钩到一个菜单项,单击该项目确实会在 sheet 上弹出表单,运行 来自附加到 [=24 的脚本项目的脚本也是如此=].
menuEntries.push({name: "Launch Query form", functionName: "launchForm"});
这个特殊的表格很简单,只有三个字段。所以我可以考虑使用 HTML 服务来构建一个 HTML 并且我看到很多关于它也不起作用的问题,所以我可能会解决这个问题。但是,我还有其他更复杂的表格,我更愿意从 spreadsheet 中简单地调用常规 Google 表格。
将Google表单的URL嵌入到对话框的HTML中:
Code.gs
function launchForm() {
var htmlApp = HtmlService
.createHtmlOutputFromFile('InputForm')
.setSandboxMode(HtmlService.SandboxMode.IFRAME)
.setTitle('Ta Daaa!')
.setWidth(500)
.setHeight(650);
SpreadsheetApp.getUi().showModalDialog(htmlApp, 'Query window');
}
InputForm.html
<!DOCTYPE html>
<html>
<head>
<base target="_top">
</head>
<body>
<iframe src="https://docs.google.com/forms/d/e/FormIDHere/viewform?embedded=true" width="760" height="500" frameborder="0" marginheight="0" marginwidth="0">Loading...</iframe>
</body>
</html>
在 "New" Google 表单中,您可以获得 IFRAME 标签以嵌入 Google 表单,方法是单击右上角的 "Send" 按钮,然后单击第三个选项卡“<>”