我正在尝试在Google App Maker中创建表格。我已经创建了一个表格。其中有一个“预览(保存)”按钮,它将创建一个新项目,并且我有一个名为“状态”的字段。此字段的默认值为“草稿”。在下一页中,我有一个“已发送电子邮件”按钮。此页面不会创建任何新项目。它将发送电子邮件,如果电子邮件发送成功,则会将状态字段从“草稿”更新为“已完成”
这是我的客户脚本
function sendMessage(to, subject, msg){
// some part is omitted
var status = app.popups.NotificationDialog.descendants.notificationText;
var success = app.datasources.ChangeSystem;
google.script.run
.withFailureHandler(function(error){
// success.Success = "draft"
status.text = error.message;
})
.withSuccessHandler(function(result){
status.text = 'sent';
success.Success = "completed";
clearEmailForm();
})
.sendEmailMessage(to, subject, msg);
}
这是我的电子邮件发送按钮功能
var widgets = app.pages.Email.descendants;
var to;
var subject = widgets.systemName.value
var msg = "Description:\n\t\t" + widgets.Objective.value;
widgets.EmailStatus.text = 'Sending email...';
sendMessage(to, subject, msg);
到目前为止,我已经成功发送了电子邮件,并且已经创建并保存了所有字段。但是问题是发送电子邮件后,“状态”字段不会更新。它与默认值“草稿”相同。我的预期结果是,按下发送按钮后,它将更新现有字段之一。
答案 0 :(得分:1)
在对该主题进行了其他思考之后,我认为我找到了问题。假设您的“发送电子邮件”按钮与您要更新的字段是相同的继承数据源,这是一些更新的代码。
var success = widget.datasource.item;
google.script.run
.withFailureHandler(function(error)
status.text = error.message;
success.Success = 'draft';
})
.withSuccessHandler(function(result) {
status.text = 'Email sent';
success.Success = 'completed';
clearEmailForm();
})
.sendEmailMessage(to,subject, msg);