javascript - Netlify 没有检测到 GatsbyJS 表单
问题描述
我制作了一个简单的联系表格,其中包含姓名、电子邮件和文本框。
该表单具有 Netlify 检测所需的所有元素,例如data-netlify="true"
和data-netlify-honeypot="bot-field"
。其他一切似乎都遵循 Netlify/React 表单博客所解释的约定。
TestContactForm.component.jsx
import React, { useState } from "react"
const TestContactForm = () => {
const [formInput, setFormInput] = useState({
name: "",
email: "",
message: "",
})
const onChange = e => {
setFormInput({
...formInput,
[e.target.name]: e.target.value,
})
}
return (
<form
name="contact"
method="post"
action="/thanks"
data-netlify="true"
data-netlify-honeypot="bot-field"
>
<input type="hidden" name="form-name" value="contact" />
<div hidden>
<label>
Don’t fill this out: <input name="bot-field" />
</label>
</div>
<div>
<label htmlFor="name">Hello, my name is</label>
<input
name="name"
id="name"
type="text"
placeholder="Jane Doe"
required
value={formInput.name}
onChange={onChange}
/>
</div>
<div>
<label htmlFor="email">Hello, my name is</label>
<input
name="email"
id="email"
type="text"
placeholder="janedoe@work.com"
required
value={formInput.email}
onChange={onChange}
/>
</div>
<div>
<label htmlFor="message">I want to</label>
<textarea
name="message"
id="message"
rows="5"
maxLength="250"
placeholder="briefly share an idea about..."
required
value={formInput.message}
onChange={onChange}
></textarea>
</div>
<button type="submit">SEND</button>
</form>
)
}
export default TestContactForm
我在 Netlify 上托管的其他网站上的表单中使用了几乎相同的代码,它们运行良好。
/
, /thanks
, 和/404
都pages
在src
.
我不确定这个出了什么问题。
有人可以指出这里的错误是从哪里产生的吗?
谢谢!
解决方案
解决方案
结果发现错误的原因与 Netlify 或 Gatsby 无关。
它与我使用的动画库有关,它是react-spring
.
我正在使用钩子为联系人卡片制作淡入/淡出动画,该useTransition
钩子默认为false
在开始时。这有效地将联系人卡片从 DOM 元素中取出,因此 Netlify 无法检测到它。作为一种解决方案,我改用了钩子,它用anduseSpring
隐藏了联系人卡片。opacity: 0
pointer-events: none
这解决了这个问题。
推荐阅读
- android - 如何使时间栏在 Android 中以 Minimal 样式工作?
- windows - Windows 上的 Clang:如何禁用默认的 MSVC 兼容性?
- javascript - 如何使用 React 中另一个组件的按钮功能调用组件中的状态更改?
- flutter - 在 Flutter 中,获取 URL 但无法在 VideoPlayer 上显示视频并出现错误
- plantuml - PlantUML:如何使动作指向动作和项目
- ruby-on-rails - Rails Pg_Search 在没有更改代码的情况下停止工作
- pca - 尝试使用 R 中的 ggbiplot 删除 PCA 中的网格线和背景
- mysql - bash: X: 参数列表太长
- sql-server - SQL 到 SAS ODBC 连接 - NVARCHAR(max) 截断但出现错误:选项 dbtype 不是有效的输出数据集选项
- networking - 通过 Cisco 路由器使用 SSH 连接到 Cisco 交换机