Google表格对我来说是新的,JavaScript也是如此。我已经阅读了很多Google的例子。我试图跟随他们,但没有成功。
我有一张电子表格,用于追踪我儿子的津贴和支出。我已设法让它自动填充他的每周津贴,我可以将资金转移到这所大学'帐户,但这是因为提示功能有效,而这两个功能只需要一个参数。现在我需要三个这样的参数,因此我需要分支出简单的提示。
根据我遵循的示例,单击提交按钮时对话框将关闭 - 这次迭代不会发生 - 但我从未接到过对insertGame的调用。非常感谢任何和所有的帮助。但是,知道我是一个脚本新手,因此需要比大多数人更多的解释。
Code.gs
function BuyAGame_()
{
var html = HtmlService.createHtmlOutputFromFile('GamePurchase')
.setWidth(400)
.setHeight(300);
SpreadsheetApp.getUi() // Or DocumentApp or FormApp.
.showModalDialog(html, 'My custom dialog');
}
function insertGame(form){
var Value = form.Price;
if(form.Refund)
Value = Value * -1;
InsertNewTransactionOnDemandAccount( new Date(), Value, form.Name, 'normal', 'italic', "Game", null );
}
GamePurchase.html
<script>
function Close()
{
google.script.run.insertGame(document.getElementById('myForm'));
google.script.host.close();
}
</script>
<form id="myForm" onsubmit="handleFormSubmit(this)">
Game Name:<input type="text" name="Name"><br>
Game Price:<input type="text" name="Price"><br>
Is this a refund?<input type="checkbox" name="Refund" value="Refund"><br>
<input type="submit" value="Submit" onclick="Close()" />
</form>
答案 0 :(得分:0)
答案在函数Close()中。从该函数,直接调用code.gs文件中的处理函数。表单对象,或者实际上任何东西都可以传回来。然后调用.host.close()以关闭html对话框。
google.script.ru,
function Close()
{
google.script.run.insertGame(document.getElementById('myForm'));
google.script.host.close();
}