使用Google Script doPost在iFrame中提交表单后的消息

时间:2016-09-29 12:58:54

标签: google-apps-script html-form

我在提交给GAS Web App的iFrame中有一个简单的表单:

<form action="https://script.google.com/macros/s/AK...a4/exec" method="POST">
    Name:<br>
    <input type="text" name="name">
    <br>
    Email:<br>
    <input type="email" name="email" value="">
    <br><br>
    <input type="hidden" name="product" value="Inv">
    <input type="submit" value="DOWNLOAD" style="margin:0px auto; display:block; width: 10em;  height: 2.4em;">
</form>

我想将来自doPost服务的消息发送回iFrame,例如:

function doPost(e) {
...
var response = "<HTML><BODY><H1>Error processing request</H1><BR><BR><P>Missing or invalid parameter in request.</P></BODY></HTML>"
   return ContentService.createTextOutput(response).setMimeType(ContentService.MimeType.TEXT); 
}

但是,提交后iFrame将被清空,并且永远不会显示我的消息。我错过了什么?

谢谢!

1 个答案:

答案 0 :(得分:0)

documentation中所述,使用createTextOutput(content)方法创建可以为给定内容提供服务的新TextOutput对象。尝试使用此示例代码:

function doGet() {
    var output = ContentService.createTextOutput("Hello world!");
    return output;
}

要进一步使用您的代码,请尝试删除doPost()功能中的HTML标记,看看它是否有效。

最后,还请检查此SO帖子中提供的解决方案 - HTML Form does not submit to spreadsheet using doPost。它也可能有所帮助。