Форма netlify, созданная с помощью Javascript, не отправляется на netlify, она не показывает никаких представлений. И я использую Next js
<form name="contact" method="POST" data-netlify='true' action="/pages/success" hidden>
<input type="text" name="Name" />
<input type="email" name="Email" />
<textarea type="textarea" name="Msg"></textarea>
</form>
Выше находится статическая HTML-форма. Я добавляю визуализированную форму javascript ниже:
const WriteToUs = () => {
const [formData, updateFormData] = useState({
Name: '',
Email: '',
Msg: ''
});
const handleChange = e => {
const { name, value } = e.target;
updateFormData(prevState => ({
...prevState,
[name]: value
}));
};
function encode(data) {
return Object.keys(data)
.map(key => encodeURIComponent(key) + "=" + encodeURIComponent(data[key]))
.join("&")
}
const handleSubmit = (event) => {
event.preventDefault()
fetch("/contactus", {
method: "POST",
headers: { "Content-Type": "application/x-www-form-urlencoded" },
body: encode({
"form-name": event.target.getAttribute("name"),
"Name": formData.Name,
"Email": formData.Email,
"Msg": formData.Msg
})
})
.then(() => alert("submitted")).catch(error => alert(error))
}
return (
<Form name="contact" onSubmit={handleSubmit}>
<input type="hidden" name="form-name" value="contact"/>
<FormGroup>
<Input type="text" name="Name" onChange={handleChange} value={formData.Name}
id="exampleName" placeholder="Name" className={styles.formcontrol} />
</FormGroup>
<FormGroup>
<Input type="email" name="Email" onChange={handleChange} value={formData.Email}
id="exampleEmail" placeholder="Business-Email" className={styles.formcontrol}/>
</FormGroup>
<FormGroup>
<Input type="textarea" name="Msg" onChange={handleChange} value={formData.Msg}
id="exampleText" placeholder="Message" className={styles.textarea}/>
</FormGroup>
<div className="d-flex justify-content-center justify-content-lg-start"><Button
type="submit" className={classnames({
[styles.send]: true,
"btn": true
})}>Send</Button></div>
</Form>
);
}
Я получил код состояния 200 при отправке формы, а также могу видеть все значения полей в разделе тела. Я не могу понять проблему. Также Netlify обнаружил активную настройку формы, но не получил заявок. Пожалуйста помоги.