我已经坚持了几个星期,我认为现在是时候拿到一些学费了。
我的目标是使用GAS构建测验网络应用程序:
我尝试过的事情并没有成功做到:
a)使用DATABASE - >的值部署QUESTIONS.html。无法访问html脚本中其他函数的值
b)使用google.script.run(也尝试使用successHandler),无法访问函数外的DATABASE值()
c)使用属性,无法访问客户端属性(DATABASE)的值
欢迎任何想法。
CODE.HTML
<html>
<head>
<title>Quiz</title>
</head>
<body>
<div id="quiz">
<p id="question"></p>
<div class="buttons">
<button id="btn0"><span id="choice0"></span></button>
<button id="btn1"><span id="choice1"></span></button>
<button id="btn2"><span id="choice2"></span></button>
<button id="btn3"><span id="choice3"></span></button>
</div>
</div>
<script>
function createQuestions(data){
//THIS WORKS FINE FOR QUESTION 1
document.getElementById("question").innerHTML = data[0][0];
document.getElementById("choice0").innerHTML = data[0][1];
document.getElementById("choice1").innerHTML = data[0][2];
document.getElementById("choice2").innerHTML = data[0][3];
document.getElementById("choice3").innerHTML = data[0][4];
}
google.script.run.withSuccessHandler(createQuestions).getData();
//HOWEVER I DON'T KNOW HOW TO GET FROM HERE TO QUESTION 2
//I CANNOT CREATE A SECOND FUNCTION BECAUSE THE DATA IS NOT ACCESSIBLE
</script>
</body>
</html>
CODE.GS
function doGet() {
var html = HtmlService.createTemplateFromFile("index").evaluate();
html.setTitle("QUIZ APP");
return html;
};
function getData(){
return SpreadsheetApp.openById("SHEET_ID").getSheets()[0].getDataRange().getValues();
};