我有两个或更多表单会触发不同功能中的提交事件。
但我不知道如何将doPost()分成对应于发送事件的每个源的子例程。
我尝试过的以下代码失败了。
//---------------------------------------------------------------------------
function doPost(e)
{
var app = UiApp.getActiveApplication();
// 'mainform' is the id of one of the forms with a submit button
if (e.parameter.source == 'mainform') {
var fileBlob = e.parameter.thefile;
doc = DocsList.getFolder('releaseTmp').createFile(fileBlob);
}
return app;
}
答案 0 :(得分:3)
根据文档:“如果使用表单元素作为参数调用服务器函数,则表单将成为单个对象,其字段名称为键,字段值为值。值全部转换为字符串,但文件输入字段的内容,它们成为Blob对象。“ Html Service: Communicate with Server Functions - Forms
一个选项是在表单中包含一个带有相应名称的隐藏字段,然后在函数中读取该字段。