GatsbyJS + Netlify Form не получает заявки - PullRequest
0 голосов
/ 20 декабря 2018

Итак, у меня есть веб-сайт, который я размещаю на Netlify.Я следил за документацией, которую они имеют на своем сайте (о формах), и имя формы отображается на моей панели инструментов Netlify после развертывания, но ни одно из представлений не проходит.

Можно мне помочь с этим?

Вот форма, которая находится в моем компоненте Contact.js:

<form
  name="contact-me"
  method="post"
  action="/success"
  data-netlify="true"
  data-netlify-honeypot="bot-field"
>
  <input type="hidden" name="bot-field" />
  <label htmlFor="name">
    Name: <input type="text" name="name" id="name" required />
  </label>
  <label htmlFor="email">
    Email: <input type="email" name="email" id="email" required />
  </label>
  <label htmlFor="message">
    Message: <textarea name="message" id="message" required />
  </label>
  <footer className="major">
    <ul className="actions">
      <li>
        <button type="submit" className="button small special">
          Send
        </button>
      </li>
      <li>
        {/* eslint-disable-next-line */}
                    <button type="reset" className="button small">
          Clear
        </button>
      </li>
    </ul>
  </footer>
</form>

Конечно, я использую Gatsbyсоздать сайт.

Пожалуйста, дайте мне знать, если я должен поставить ссылку на мой репо здесь.

Спасибо

Ответы [ 2 ]

0 голосов
/ 21 февраля 2019

У меня была похожая проблема.Решением было обеспечить загрузку моего веб-работника после моего манифеста в gatsby-config.js:

{
  plugins: [
    {
      resolve: `gatsby-plugin-manifest`,
      options: {
        ...
      }
    },
    'gatsby-plugin-offline'
  ]
}

Источник: https://www.gatsbyjs.org/docs/add-offline-support-with-a-service-worker/

Этот пакет также помог при создании формы:https://www.npmjs.com/package/react-netlify-form

0 голосов
/ 20 декабря 2018

Самый быстрый способ проверить, что netlify увидит на сайте Gatsby:

  • отключить JavaScript в вашем браузере для сайта
  • перейти на страницу контактов, не используя javascript
  • просмотреть исходный код страницы (страница netlify использует для регистрации формы)
  • просмотреть форму и убедиться, что значение существует для того, что Netlify требует
  • Требуется data-netlify="true" вформа
<form name="contact" method="POST" data-netlify="true">
  <p>
    <label>Email: <input type="text" name="name" /></label>
  </p>
  <p>
    <label>Message: <textarea name="message"></textarea></label>
  </p>
  <p>
    <button type=”submit”>Send</button>
  </p>
</form>

Если она настроена правильно, ваша форма должна правильно обрабатываться в SPA и правильно регистрировать поля ввода.

...