【发布时间】:2016-08-15 16:55:14
【问题描述】:
我正在使用Apps Script 并尝试在我的Google Sheet 中创建一个Sidebar,以显示将内容转换为JSON 的结果。
这是页面Sidebar的html:
<!DOCTYPE html>
<html>
<head>
<base target="_top">
<link rel="stylesheet" href="https://ssl.gstatic.com/docs/script/css/add-ons1.css">
<!-- The CSS package above applies Google styling to buttons and other elements. -->
<style>
.width-100 {
width: 100%;
height: 100%
}
</style>
</head>
<body>
<div class="sidebar branding-below">
<form>
<div class="block form-group">
<label for="json"><b>JSON</b></label>
<textarea class="width-100" id="json" name="json" rows="10"></textarea>
</div>
</form>
</div>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js">
</script>
</body>
</html>
我之前创建了所需的JSON,现在尝试使用此方法将textarea 的内容设置为创建的JSON:
function displayText_(text) {
var html = HtmlService.createHtmlOutputFromFile('Sidebar')
.setTitle('JSON Results');
var contents = html.getContent();
contents.getElementById('json').setText(text);
html.setContent(contents);
SpreadsheetApp.getUi().showSidebar(html);
}
这是一个示例JSON 字符串,用于回答:
var jsonString = {"someKey":"someValue","anotherKey":"anotherValue"}
我尝试通过连接到html 和contents(我目前的方法)来使用getElementById。没有什么能产生预期的结果。我猜这很简单,但不知道如何从Apps Script 操作 html。
我很确定我可以在 Apps Script 中创建整个 html 内容并替换内容,但这是一种 hack 并且不容易维护。
有更简单的方法吗?
【问题讨论】:
标签: javascript html google-apps-script