Форма 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 обнаружил активную настройку формы, но не получил заявок. Пожалуйста помоги.

0 ответов

Другие вопросы по тегам