在一个静态网站上添加联系表单

55

我需要在一个静态网站上添加一个联系表格。我已经有一些使用Django/Python制作表格的经验,做过2到3个,但可悲的是这里不能使用Django,必须将其添加到静态网站中。请问我有哪些选项?


我在我的Hugo博客中使用formspree.io解决了一个问题。这是我博客的链接,其中描述了该过程http://classandobjects.com/tutorial/add_subscribe_button_on_static_site/。 - aks
1
我使用https://www.staticforms.xyz/,它是免费的。这是一个非常简单的方法,在您的静态网站上添加表单。 - Hussain Fakhruddin
11个回答

42
您可以使用Google Docs表单来模拟联系表单,并使用Google为您的表单提供的代码片段将其嵌入到您的网站中。
通过使用通知规则,您可以在每次有人填写表单时获得自动通知。

2
@Smamatti..如果有这个限制,它必须添加到静态网站中,还有其他选择吗? - Andres Ilich
1
确实很有趣,正在尝试使用它 :) - mmln
2
很不幸,我发现谷歌文档非常有 bug,我的浏览器也会出现几秒钟的无响应.. 是无限循环吗? - Yannis Dran
1
所以我实际上也需要同样的东西,去年最终推出了自己的产品来完成这个。希望这可以帮到你:http://99inbound.com - Matthew Rathbone
1
@UweKeim 哦,谢谢你找到了那个!你说得对,那是一个疏忽。 - Matthew Rathbone
显示剩余8条评论

25

看看Form Spree,你可以简单地添加一个包含针对其服务的动作发布的<form>,每当有人填写表格时,就会收到一封电子邮件。

非常高效!

考虑使用API表单解决方案,例如Web3FormsFormKeep


1
不幸的是,由于被Squarespace收购,他们正在逐步淘汰Brace。 - fregante
2
Brace Forms已经开源并更名为formspree:http://formspree.io/ - aharris88
我更新了答案链接。 - Sébastien Saunier
有没有专门针对联系表单的服务?所有这些服务都对一个简单的联系表单收费过高,它只是说“您的电子邮件”和“内容”,然后发送电子邮件。大多数邮件服务(如sendgrid、mailgun等)都有大约12000封电子邮件的免费计划,而这些服务则限制提交次数为1000次,这使得整个事情有点毫无意义。或者以每月20美元的价格购买完全托管的服务器。 - Francesco Belladonna
3
Form Spree泄露您的电子邮件地址给垃圾邮件发送者(通过强制您将其放在HTML内而不是隐藏起来)。此外,它会让您的用户接受reCAPTCHA(“这些图像中哪些有交通灯...”)的测试。 - Atte Juvonen

13
如果你正在寻找一个简单的解决方案,那么 fwdform 就是最容易的选择。当我需要在自己的静态网站上快速处理联系表单时,我自己编写了它。
要将你的表单转发到你的电子邮件,你只需要按照以下步骤操作。

1.Register

发送HTTP POST请求以注册您的电子邮件。

$ curl --data "email=<your_email>" https://fwdform.herokuapp.com/register
Token: 780a8c9b-dc2d-4258-83af-4deefe446dee

2. 设置表单

<form action="https://fwdform.herokuapp.com/user/<token>" method="post">
    Email: <input type="text" name="name"><br>
    Name: <input type="text" name="email"><br>
    Message: <textarea name="message" cols="40" rows="5"></textarea>
    <input type="submit" value="Send Message">
</form>

如果你不想信任第三方服务,甚至可以在自己的Heroku实例上运行它


这看起来很酷,但是你如何验证它? - Dan Gayle
在尝试使用您的实例时,出现了“405方法不允许”的错误。但是从终端尝试时可以正常工作。否则它将是一个很好的解决方案。 - nilsi
太棒了!你有遇到过垃圾邮件的问题吗? - David Silva Smith
方法不允许:所请求的URL不允许使用该方法。 - mini
更新 18-01-18:不再可用,请参见 https://github.com/samdobson/fwdform - Suma

3

一个解决方案是使用qontacto。它是一个免费的联系表单,您可以添加到任何网站。它会将消息转发给您。


这真的很好,而且在桌面上运行得非常好。但是,在 iPhone Safari 上运行时,表单对我来说并没有显示出来。是否有任何解决方法,或者只是我自己的问题? - Alper Akture
嗨,阿尔珀,你在哪个网站上看到它不工作? - Marcelo Biffara
这是我为客户开发的一个网站。我已经将其删除,但是根据您的指示,我只是将生成的HTML添加到了一个页面上。就像我说的,在桌面浏览器中看起来很棒。然而,在iPhone 4s的Safari浏览器中浏览同一页面时,表单不会显示。我也有一个安卓用户报告了同样的问题。我已经删除了iframe并进行了一些调整,成功地使其显示出来,但还没有回去完成它并推出那个更改。 - Alper Akture
很抱歉听到这个消息,我的安卓手机运行良好,我会在iPhone和其他安卓设备上进行一些测试! - Marcelo Biffara
好的,谢谢,我会再次将其添加到测试页面,并向您发送链接。也许是我的页面上有一些CSS冲突。 - Alper Akture
显示剩余2条评论

2

这里有一个类似的问题

解决方案是指向一个不是静态的不同服务器上的PHP文件。knittl展示了如何将动作属性指向另一台服务器。

<form method="post" action="http://example.com/process.php">
  <input type="text" name="my_textfield" />
  <input type="submit" value="send!" />
</form>

另一种选择是使用Wufoo表单,您可以将其嵌入到静态页面中。


1
另一个选择是使用iframe将动态表单嵌入到网站中。
<iframe src="http://whatever.com/your-fancy-dynamic-form.php"></iframe>

2
你需要在某个地方托管它。服务器似乎不支持PHP。你会考虑在其他公司的服务器上托管自己的联系表单吗? - Smamatti
我打算在当前项目中采用 iframe 方法。这将为我节省很多时间,也会更便宜,因为我可以在 10-100 个静态网站上使用我的 Django 表单,并将其存储在不同的服务器上 :) / 难道我不能这样做吗? - mmln

1

我刚刚找到了一个新的答案来回答这个问题(实际上,在某些情况下,我认为这是最好的答案):

您可以使用podio.com,这是一个免费的ERP(企业资源规划)系统,支持一个组织中的最多5个成员。它允许创建完全可定制的Web表单,并可以添加到任何位置。更重要的是,您的Web表单收集的输入可以轻松管理:例如,将其添加到联系人列表中,添加到任务中,以便您可以检查您或您团队的某个人是否处理了查询。更多信息请参见此处:http://blog.podio.com/2012/08/07/styleyourwebform/

一些优点:

  • 可以添加到您希望的任何位置(您只需指定将在其上使用的子域)
  • 您可以在几分钟内自定义表单
  • 您可以通过单击添加验证码(或其他垃圾邮件保护)
  • 您可以轻松管理Web表单线索

缺点:

您需要为每个想要设置网络表单的客户创建一个Podio账户,以避免共享机密信息。

1
你可以更好地使用UserVoice联系表格。 Uservoice将会做两件事情:
  1. 它将在Uservoice系统内创建新的工单。

  2. 它还会向您发送一封邮件。

这将是端到端的客户支持解决方案。但是,如果您通过某些服务发送电子邮件,则必须与客户进行沟通以获得支持。 Uservoice仅用于客户支持而设计和构建。
我知道,您想使用自己的自定义表格,而不是提供的uservoice小部件。是的,您可以通过以下方式实现:

https://gist.github.com/cypriss/2032215


0

页面可以是静态HTML,但您的操作可以指向PHP或类似文件。

<form method="post" action="sendmail.php">
<textarea name="comments"></textarea>
<input type="submit" class="button" value="Send Feedback">
</form>

1
我认为关键是服务器不支持PHP(因此网站必须保持静态)。 - Madara's Ghost
哎呀,网站不支持PHP,怎么办 :( - CodeGuru

0

另一种选择是使用来自Tectite等服务的免费托管表单。您将表单推送到他们的服务,然后他们会通过电子邮件向您发送结果。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接