我理解issue 1660已标记为已修复,但我似乎无法将任何参数从我的htmlservice表单传递到我的google apps脚本。这是我尝试过的:
<my html file>
<form id="myForm">
<input name="aField" id="aField">
<input type="button" id="submit" value="submit" onclick = "sendData()">
</form>
<script>
function sendData() {
google.script.run.processForm(document.getElementById("myForm"));
}
</script>
</my html file>
<google apps script>
function processForm(value) {
var range = SpreadsheetApp.openById("1234").getRangeByName("testRnage");
range.setValue(value.aField);
}
</google apps script>
使用
<input type="button" id="submit" value="submit" onclick = "google.script.run.processForm(this.parentNode)">
也不起作用。
这两种方法都会导致以下浏览器错误:“未捕获的ScriptError:TypeError:无法调用方法”setValue“为null。”
感谢任何帮助。感谢。
答案 0 :(得分:0)
我一直在成功地做到这一点:
var invoice = new Object();
invoice.customerCode = selectedCustomer.value;
invoice.discount = document.getElementById('discount').value;
invoice.items = blah, blah, blah . . .
var jsonInvoice = JSON.stringify(invoice);
google.script.run.recordInvoice(jsonInvoice);
...在服务器上用这个......
function recordInvoice(jsonInvoice) {
var theInvoice = eval("(" + jsonInvoice + ")");
var cust = theInvoice.customerCode;
如果这看起来不完整,请随意提出详细说明。