#netlify #netlify-form
Вопрос:
Я создавал новую форму для веб-сайта, но она не отображается в формах netlify, и я вижу ошибку 404 при отправке. Я не совсем понимаю, почему это происходит. У меня также есть контактная форма, но она работает нормально. Я также зарегистрировал свое состояние и получаю все значения для состояния из всех полей.
Это коды, относящиеся к форме.
function encode(data) { return Object.keys(data) .map( (key) =gt; encodeURIComponent(key) '=' encodeURIComponent(data[key]) ) .join('amp;') }
const [state, setState] = useState({}) const handleChange = (e) =gt; { setState({ ...state, [e.target.name]: e.target.value }) } const handleSubmit = (e) =gt; { e.preventDefault() const form = e.target fetch('/', { method: 'POST', headers: { 'Content-Type': 'application/x-www-form-urlencoded' }, body: encode({ 'form-name': form.getAttribute('name'), ...state, }), }) .then(() =gt; navigate(form.getAttribute('action'))) .catch((error) =gt; alert(error)) }
lt;form className={'formStyle'} name="full-stack-applications" method="post" action={ locale === 'en' ? '/thankYouForYourApplication/' : '/fi/thankYouForYourApplication/' } data-netlify="true" data-netlify-honeypot="bot-field" onSubmit={handleSubmit} gt; {/* The `form-name` hidden field is required to support form submissions without JavaScript */} lt;input type="hidden" name="form-name" value="full-stack-applications" /gt; lt;p hiddengt; lt;labelgt; Don’t fill this out: lt;input name="bot-field" onChange={handleChange} /gt; lt;/labelgt; lt;/pgt;