我最近用Gatsby JS和Netlify表单创建了一个Netlify应用程序。我的表单字段如下:
<form
action="#"
method="post"
name="contact"
className="footer-form"
data-netlify="true">
<input
id="name"
type="text"
name="name"
placeholder="Name"
value={this.state.name}
className="footer-form__input"
onChange={e => this.setState({ name: e.target.value })}
/>
<input
id="email"
name="name"
type="email"
className="footer-form__input"
value={this.state.email}
onChange={e => this.setState({ email: e.target.value })}
placeholder="Email address"
/>
<textarea
id="message"
name="message"
className="footer-form__input footer-form__textarea"
value={this.state.message}
onChange={e => this.setState({ message: e.target.value })}
placeholder="Your message"
/>
<button type="submit" className="footer-form__button">
Submit
</button>
</form>
在开发中,电子邮件字段按计划显示。但是在生产中,特别是在netlify系统上,仅显示名称和消息字段。
顺便说一句,表单提交在生产中可以很好地工作,它只在Netlify仪表板内显示“名称”和“消息”。
为什么会发生这种情况?
答案 0 :(得分:2)
前两个输入名称相同:
<input
id="name"
type="text"
name="name"
...
/>
<input
id="email"
name="name"
type="email"
...
/>
Netlify可能依赖字段名称在不同输入之间有所不同。您会尝试解决该问题,看看问题是否仍然存在吗?