Netlify表单提交是空白的

时间:2018-04-15 21:03:16

标签: netlify

当我提交我的Netlify表单时,服务器以200状态响应,我得到了“谢谢”#39;回复页面。但是,当我在Netlify管理员中检查表单提交时,它们都是空白的。我检查了我的xhr请求,数据显示在' params'浏览器开发工具的一部分。

params dev tools enter image description here

2 个答案:

答案 0 :(得分:11)

免责声明:我为Netlify工作。

当我们的服务存储空白提交时,它没有收到提交中的任何字段,这些字段在表单的html版本中定义,其定义与提交中的name参数相同。

首先,了解我们的服务需要您的表单的简单html版本,name参数以及netlify或{{1},这非常有用。参数;这就是准备你的网站接受表单提交的原因,所以你已经设置好了;如果你没有,那么你在POST时会得到404.

在部署中进行此操作并正确解析后,您将在“表格”中的网站设置信息中心中看到表单名称。标签。请注意,我们还会提取我们保存的所有字段名称,并在此文件的通讯或信息中心中显示,并且只显示此文件,因此请确保为每个表单字段提供data-netlify=true,在那个html文件中。

如果您在信息中心中看到该表单,但在确定数据已发布时获得空白提交,则可能有以下三种原因之一:

  1. Netlify未正确处理表单的html版本中的字段名称。该服务只会正确处理我们在html版本部署时中看到的字段。
  2. Netlify在提交时按字段名称进行匹配,因此请确保您的网站发送给我们的内容然后与您部署的表单的html副本进行匹配。对于纯html(无JS)表单,这会自动发生,因为你是从文件中发布的,这是规范"定义"你的表格领域;但是对于javascript表单,您需要注意名称匹配。换句话说,你以后不能在javascript中动态添加新字段并发送它们(Netlify将接受所有字段,如您所见;但不会存储它们或通知您有关在部署时未处理的字段!)
  3. 可能会阻碍的另一个怪癖是:在部署中拥有同名的表单的多个副本。只有一个会被处理,所以如果你碰巧在另一个html文件(或者甚至是同一个!)中有一个错误的name - 它可能是我们处理的那个而不是另一个名为test的形式。因此,请确保您只发送表单的单个html定义。请注意,像gatsby这样的一些框架会在部署之前将你的jsx渲染成html,这意味着如果你在部署中有一个简单的html文件表单定义 - 它可以被处理而不是复制gatsby构建。
  4. 此博客文章描述了在反应应用中构建的成功表单:https://www.netlify.com/blog/2017/07/20/how-to-integrate-netlifys-form-handling-in-a-react-app/

答案 1 :(得分:0)

我错过了"name"字段中的input属性。
表单中的每个输入都必须具有“名称”属性。您需要<input name="email" ...><textarea name="message" ...>之类的东西。