2014-02-26 72 views
3

我有一个带有姓名和电子邮件地址的表单,用户可以填写。通过简单的HTML表单向Google电子表格添加基本数据

enter image description here

现在,如果用户点击提交按钮,我想将数据发送到电子表格中最好不使用一些服务器端魔术..

这是我的方式:

<form method="post" action="SOME-ACTION-HERE" accept-charset="UTF-8"> 
    <input type="text" name="newletter_name" placeholder="Name"> 
    <input type="text" name="newletter_email" placeholder="Email"> 
    <input type="submit" value="Subscribe" /> 
</form> 

有没有办法用我自己的自定义HTML表单来做到这一点。我知道你可以为一个给定的电子表格创建一个Google表单,但我想用它来做某种小部件。

回答

10

是的,这是可能的。使用一些服务器端魔术或不。
但是,重要的是要知道我们正在讨论的女巫服务器,你的服务器或谷歌服务器,因为最终它将服务器端存储在电子表格应用程序:)
我认为这是可能的做到这一点完整的JS(但它会非常痛苦)。
,我建议你在这里是要传达一个谷歌的解决方案应用脚本将处理服务器端魔术在一个非常简单的方法: 演示:

在你的网站上的HTML代码:

<form id="form" method="get" action="https://script.google.com/macros/s/AKfycbxeKTVlTkqSGLIRphBrzACjuWlfmejbPIG7NqBxx-7Us7lnqLw/exec" accept-charset="UTF-8"> 
    <input type="text" name="newletter_name" placeholder="Name"> 
    <input type="text" name="newletter_email" placeholder="Email"> 
    <input type="submit" value="Subscribe"/> 
</form> 

这里的谷歌Apps脚本:

function doGet(e){ 
    var vals=[]; 
    vals.push(new Date()); 
    for(var i in e.parameter){ 
    vals.push(e.parameter[i]); 
    } 
    SpreadsheetApp.openById("0Ao02g19G1-G-dElQQW92ekZWa0lGRGREYUpHRWQwTVE").appendRow(vals); 
    return ContentService.createTextOutput("added"); 
} 

如果你想看到的结果,你可以看看到电子表格here

你需要知道的是:
谷歌应用程序脚本在这里位于电子表格中(但这不是必须的,因为在我用他的id调用它的脚本中)。
为了运行该脚本,您必须发布它并允许任何人运行它。当您执行此操作时,您将获得需要放入HTML代码的已发布网址。这里它:https://script.google.com/macros/s/AKfycbxeKTVlTkqSGLIRphBrzACjuWlfmejbPIG7NqBxx-7Us7lnqLw/exec

希望这是一个满意的答案给你。

+0

是的,这太神奇了。我不知道这个脚本外观。优秀的答案。谢谢 – Besi

+0

这是否仍然有效? – Neil

+0

嗨,这种方式仍然有效吗? –

相关问题