Netlify Forms detected, but not being properly hydrated in CI/CD and not submitting Svelte, Sapper

Hello there!

I’m trying to host an early version of a pet project on Netlify. I got hosting working, but when I try to integrate with Netlify forms I’m running into issues. As a background, my site is built in Svelte with Sapper. The site I’m serving from netlify is built with sapper export and is pure html by the time netlify is processing it.

When I add a netlify form as below, the form is detected and visible in the forms section. However, when I click Submit nothing happens. No submissions are sent. My spam is also empty. I’ve tried to switch to the POST version of netlify-forms, but that does not work either (404).

I’ve spent many days on this and have read probably every post, forum topic, Github issue etc. I could find about netlify forms to try to track this one down. Everything I’ve tried has not changed the behavior.

One thing I noticed was that my generated html does not have a closing or tag. I’ve submitted a bug with Sapper to resolve that, but I’m not sure if that is causing my issue here. Sapper Export does not render many nested closing tags · Issue #1702 · sveltejs/sapper · GitHub.

Hopefully we can track this down and it can help anyone else who’s stuck with netlify in svelte+sapper!

Here’s how I’m trying to activate the form

    <form name="contact-form" netlify>
        <div class="field">
          <label class="label" for="guest-name">Name</label>
          <div class="control">
            <input
              class="input"
              name="guest-name"
              type="text"
              placeholder="Your name"
            />
          </div>
        </div>
        <div class="field">
          <label class="label" for="email">Email</label>
          <div class="control">
            <input
              class="input"
              name="email"
              type="email"
              placeholder="Your email"
            />
          </div>
        </div>
        <div class="field">
          <label class="label" for="description">Bug Descripton</label>
          <div class="control">
            <textarea
              class="textarea"
              name="description"
              placeholder="Describe the bug you're working on..."
            />
          </div>
        </div>
        <div class="field">
          <div class="control">
            <button type="submit" class="button is-primary">Submit</button>
          </div>
        </div>
      </form>
* Build problems? Link or paste the FULL build log & build settings screenshot

    6:51:27 PM: Build ready to start
    6:51:28 PM: build-image version: d84c79427e8f83c1ba17bcdd7b3fe38059376b68
    6:51:28 PM: build-image tag: v3.6.1
    6:51:28 PM: buildbot version: 734b021f1afb208e332629f2580fef69fda9a3bc
    6:51:28 PM: Fetching cached dependencies
    6:51:29 PM: Starting to download cache of 101.5MB
    6:51:30 PM: Finished downloading cache in 1.428955959s
    6:51:30 PM: Starting to extract cache
    6:51:33 PM: Finished extracting cache in 3.104043811s
    6:51:33 PM: Finished fetching cache in 4.563653036s
    6:51:33 PM: Starting to prepare the repo for build
    6:51:33 PM: Preparing Git Reference refs/heads/master
    6:51:35 PM: Starting build script
    6:51:35 PM: Installing dependencies
    6:51:35 PM: Python version set to 2.7
    6:51:36 PM: Started restoring cached node version
    6:51:38 PM: Finished restoring cached node version
    6:51:39 PM: v12.18.0 is already installed.
    6:51:39 PM: Now using node v12.18.0 (npm v6.14.4)
    6:51:39 PM: Started restoring cached build plugins
    6:51:39 PM: Finished restoring cached build plugins
    6:51:39 PM: Attempting ruby version 2.7.1, read from environment
    6:51:40 PM: Using ruby version 2.7.1
    6:51:41 PM: Using PHP version 5.6
    6:51:41 PM: Started restoring cached node modules
    6:51:41 PM: Finished restoring cached node modules
    6:51:41 PM: Started restoring cached go cache
    6:51:41 PM: Finished restoring cached go cache
    6:51:41 PM: go version go1.14.4 linux/amd64
    6:51:41 PM: go version go1.14.4 linux/amd64
    6:51:41 PM: Installing missing commands
    6:51:41 PM: Verify run directory
    6:51:43 PM: ​
    6:51:43 PM: ────────────────────────────────────────────────────────────────
    6:51:43 PM:   Netlify Build                                                 
    6:51:43 PM: ────────────────────────────────────────────────────────────────
    6:51:43 PM: ​
    6:51:43 PM: ❯ Version
    6:51:43 PM:   @netlify/build 8.1.0
    6:51:43 PM: ​
    6:51:43 PM: ❯ Flags
    6:51:43 PM:   deployId: 600a218f3253570008589290
    6:51:43 PM:   mode: buildbot
    6:51:43 PM: ​
    6:51:43 PM: ❯ Current directory
    6:51:43 PM:   /opt/build/repo
    6:51:43 PM: ​
    6:51:43 PM: ❯ Config file
    6:51:43 PM:   No config file was defined: using default values.
    6:51:43 PM: ​
    6:51:43 PM: ❯ Context
    6:51:43 PM:   production
    6:51:43 PM: ​
    6:51:43 PM: ────────────────────────────────────────────────────────────────
    6:51:43 PM:   1. Build command from Netlify app                             
    6:51:43 PM: ────────────────────────────────────────────────────────────────
    6:51:43 PM: ​
    6:51:43 PM: $ npm run export
    6:51:44 PM: > debugwithme@0.0.1 export /opt/build/repo
    6:51:44 PM: > sapper export --legacy
    6:51:44 PM: > Building...
    6:52:00 PM: ┌──────────────┐
    6:52:00 PM: │ built client │
    6:52:00 PM: └──────────────┘
    6:52:00 PM:    20.4 kB client.e186c811.js
    6:52:00 PM:            │ src/node_modules/@sapper/app.mjs (33.6%)
    6:52:00 PM:            │ node_modules/svelte/internal/index.mjs (23.6%)
    6:52:00 PM:            │ src/node_modules/@sapper/internal/App.svelte (14.1%)
    6:52:00 PM:            │ src/components/Nav.svelte (12.1%)
    6:52:00 PM:            │ src/routes/_error.svelte (6.5%)
    6:52:00 PM:            │ src/routes/_layout.svelte (4.1%)
    6:52:00 PM:            │ node_modules/svelte/store/index.mjs (3.1%)
    6:52:00 PM:            │ src/node_modules/@sapper/internal/manifest-client.mjs (2.7%)
    6:52:00 PM:            │ src/client.ts (0.1%)
    6:52:00 PM:            └ src/node_modules/@sapper/internal/shared.mjs (0.0%)
    6:52:00 PM:      559 B inject_styles.5607aec6.js
    6:52:00 PM:            └ inject_styles.js
    6:52:00 PM:    10.4 kB index.99e2c4e9.js
    6:52:00 PM:            └ src/routes/index.svelte
    6:52:00 PM:      619 B about.417b96af.js
    6:52:00 PM:            └ src/routes/about.svelte
    6:52:00 PM:    1.83 kB index.083a2423.js
    6:52:00 PM:            └ src/routes/blog/index.svelte
    6:52:00 PM:     130 kB [slug].c041afba.js
    6:52:00 PM:            │ node_modules/entities/lib/maps/entities.json (19.5%)
    6:52:00 PM:            │ node_modules/js-yaml/lib/js-yaml/loader.js (11.0%)
    6:52:00 PM:            │ node_modules/js-yaml/lib/js-yaml/dumper.js (6.8%)
    6:52:00 PM:            │ node_modules/linkify-it/index.js (4.4%)
    6:52:00 PM:            │ node_modules/markdown-it/lib/index.js (4.4%)
    6:52:00 PM:            │ node_modules/punycode/punycode.js (3.6%)
    6:52:00 PM:            │ node_modules/markdown-it/lib/rules_block/list.js (2.3%)
    6:52:00 PM:            │ node_modules/markdown-it/lib/renderer.js (2.2%)
    6:52:00 PM:            │ node_modules/mdurl/parse.js (2.2%)
    6:52:00 PM:            │ node_modules/markdown-it/lib/common/utils.js (2.2%)
    6:52:00 PM:            │ node_modules/markdown-it/lib/ruler.js (2.2%)
    6:52:00 PM:            │ node_modules/markdown-it/lib/rules_block/blockquote.js (1.9%)
    6:52:00 PM:            │ node_modules/markdown-it/lib/rules_block/table.js (1.5%)
    6:52:00 PM:            │ node_modules/markdown-it/lib/rules_block/state_block.js (1.5%)
    6:52:00 PM:            │ node_modules/markdown-it/lib/rules_core/smartquotes.js (1.5%)
    6:52:00 PM:            │ node_modules/linkify-it/lib/re.js (1.4%)
    6:52:00 PM:            │ node_modules/markdown-it/lib/rules_block/reference.js (1.3%)
    6:52:00 PM:            │ node_modules/markdown-it/lib/parser_inline.js (1.0%)
    6:52:00 PM:            │ node_modules/js-yaml/lib/js-yaml/type/int.js (1.0%)
    6:52:00 PM:            │ node_modules/markdown-it/lib/rules_core/linkify.js (1.0%)
    6:52:00 PM:            │ node_modules/markdown-it/lib/rules_inline/state_inline.js (1.0%)
    6:52:00 PM:            │ node_modules/markdown-it/lib/rules_inline/emphasis.js (1.0%)
    6:52:00 PM:            │ node_modules/markdown-it/lib/rules_inline/link.js (1.0%)
    6:52:00 PM:            │ node_modules/markdown-it/lib/rules_inline/image.js (0.9%)
    6:52:00 PM:            │ node_modules/markdown-it/lib/token.js (0.9%)
    6:52:00 PM:            │ src/routes/blog/[slug].svelte (0.9%)
    6:52:00 PM:            │ node_modules/markdown-it/lib/rules_inline/balance_pairs.js (0.8%)
    6:52:00 PM:            │ node_modules/js-yaml/lib/js-yaml/type/binary.js (0.8%)
    6:52:00 PM:            │ node_modules/markdown-it/lib/parser_block.js (0.8%)
    6:52:00 PM:            │ node_modules/markdown-it/lib/rules_inline/strikethrough.js (0.8%)
    6:52:00 PM:            │ node_modules/mdurl/decode.js (0.7%)
    6:52:00 PM:            │ node_modules/js-yaml/lib/js-yaml/type/js/function.js (0.7%)
    6:52:00 PM:            │ node_modules/js-yaml/lib/js-yaml/type/float.js (0.7%)
    6:52:00 PM:            │ node_modules/js-yaml/lib/js-yaml/schema.js (0.6%)
    6:52:00 PM:            │ node_modules/js-yaml/lib/js-yaml/type/timestamp.js (0.6%)
    6:52:00 PM:            │ node_modules/markdown-it/lib/rules_block/lheading.js (0.6%)
    6:52:00 PM:            │ node_modules/markdown-it/lib/rules_block/fence.js (0.6%)
    6:52:00 PM:            │ node_modules/markdown-it/lib/rules_core/replacements.js (0.6%)
    6:52:00 PM:            │ node_modules/mdurl/encode.js (0.6%)
    6:52:00 PM:            │ node_modules/markdown-it/lib/rules_block/html_block.js (0.5%)
    6:52:00 PM:            │ node_modules/markdown-it/lib/rules_inline/autolink.js (0.5%)
    6:52:00 PM:            │ node_modules/front-matter/index.js (0.5%)
    6:52:00 PM:            │ node_modules/uc.micro/categories/P/regex.js (0.5%)
    6:52:00 PM:            │ node_modules/markdown-it/lib/presets/commonmark.js (0.5%)
    6:52:00 PM:            │ node_modules/markdown-it/lib/rules_inline/backticks.js (0.4%)
    6:52:00 PM:            │ node_modules/js-yaml/lib/js-yaml.js (0.4%)
    6:52:00 PM:            │ node_modules/markdown-it/lib/helpers/parse_link_destination.js (0.4%)
    6:52:00 PM:            │ node_modules/markdown-it/lib/presets/zero.js (0.4%)
    6:52:00 PM:            │ node_modules/markdown-it/lib/rules_block/paragraph.js (0.4%)
    6:52:00 PM:            │ node_modules/js-yaml/lib/js-yaml/type/js/regexp.js (0.4%)
    6:52:00 PM:            │ node_modules/js-yaml/lib/js-yaml/type.js (0.4%)
    6:52:00 PM:            │ node_modules/js-yaml/lib/js-yaml/mark.js (0.4%)
    6:52:00 PM:            │ node_modules/markdown-it/lib/rules_block/heading.js (0.4%)
    6:52:00 PM:            │ node_modules/markdown-it/lib/presets/default.js (0.3%)
    6:52:00 PM:            │ node_modules/markdown-it/lib/rules_inline/text.js (0.3%)
    6:52:00 PM:            │ node_modules/js-yaml/lib/js-yaml/common.js (0.3%)
    6:52:00 PM:            │ node_modules/markdown-it/lib/rules_inline/entity.js (0.3%)
    6:52:00 PM:            │ node_modules/markdown-it/lib/common/html_re.js (0.3%)
    6:52:00 PM:            │ node_modules/markdown-it/lib/helpers/parse_link_title.js (0.3%)
    6:52:00 PM:            │ node_modules/markdown-it/lib/rules_block/hr.js (0.3%)
    6:52:00 PM:            │ node_modules/js-yaml/lib/js-yaml/type/pairs.js (0.3%)
    6:52:00 PM:            │ node_modules/markdown-it/lib/rules_inline/newline.js (0.3%)
    6:52:00 PM:            │ node_modules/markdown-it/lib/rules_inline/escape.js (0.3%)
    6:52:00 PM:            │ node_modules/js-yaml/lib/js-yaml/exception.js (0.3%)
    6:52:00 PM:            │ node_modules/markdown-it/lib/parser_core.js (0.2%)
    6:52:00 PM:            │ node_modules/js-yaml/lib/js-yaml/type/omap.js (0.2%)
    6:52:00 PM:            │ node_modules/markdown-it/lib/rules_inline/html_inline.js (0.2%)
    6:52:00 PM:            │ node_modules/js-yaml/lib/js-yaml/type/bool.js (0.2%)
    6:52:00 PM:            │ node_modules/markdown-it/lib/rules_inline/text_collapse.js (0.2%)
    6:52:00 PM:            │ node_modules/markdown-it/lib/helpers/parse_link_label.js (0.2%)
    6:52:00 PM:            │ node_modules/markdown-it/lib/common/html_blocks.js (0.2%)
    6:52:00 PM:            │ node_modules/js-yaml/lib/js-yaml/type/null.js (0.2%)
    6:52:00 PM:            │ node_modules/markdown-it/lib/rules_block/code.js (0.2%)
    6:52:00 PM:            │ commonjsHelpers.js (0.1%)
    6:52:00 PM:            │ node_modules/js-yaml/lib/js-yaml/type/js/undefined.js (0.1%)
    6:52:00 PM:            │ node_modules/js-yaml/lib/js-yaml/type/set.js (0.1%)
    6:52:00 PM:            │ node_modules/mdurl/format.js (0.1%)
    6:52:00 PM:            │ node_modules/markdown-it/lib/rules_core/normalize.js (0.1%)
    6:52:00 PM:            │ node_modules/markdown-it/lib/rules_core/block.js (0.1%)
    6:52:00 PM:            │ node_modules/markdown-it/lib/rules_core/inline.js (0.1%)
    6:52:00 PM:            │ node_modules/markdown-it/lib/rules_core/state_core.js (0.1%)
    6:52:00 PM:            │ node_modules/markdown-it/lib/helpers/index.js (0.1%)
    6:52:00 PM:            │ node_modules/uc.micro/categories/Cf/regex.js (0.1%)
    6:52:00 PM:            │ node_modules/mdurl/index.js (0.0%)
    6:52:00 PM:            │ node_modules/js-yaml/lib/js-yaml/type/merge.js (0.0%)
    6:52:00 PM:            │ node_modules/js-yaml/lib/js-yaml/schema/default_safe.js (0.0%)
    6:52:00 PM:            │ node_modules/uc.micro/index.js (0.0%)
    6:52:00 PM:            │ node_modules/js-yaml/lib/js-yaml/schema/default_full.js (0.0%)
    6:52:00 PM:            │ node_modules/uc.micro/properties/Any/regex.js (0.0%)
    6:52:00 PM:            │ node_modules/js-yaml/lib/js-yaml/type/seq.js (0.0%)
    6:52:00 PM:            │ node_modules/js-yaml/lib/js-yaml/type/map.js (0.0%)
    6:52:00 PM:            │ node_modules/js-yaml/lib/js-yaml/type/str.js (0.0%)
    6:52:00 PM:            │ node_modules/js-yaml/lib/js-yaml/schema/json.js (0.0%)
    6:52:00 PM:            │ node_modules/js-yaml/lib/js-yaml/schema/failsafe.js (0.0%)
    6:52:00 PM:            │ node_modules/uc.micro/categories/Z/regex.js (0.0%)
    6:52:00 PM:            │ node_modules/js-yaml/lib/js-yaml/schema/core.js (0.0%)
    6:52:00 PM:            │ node_modules/markdown-it/lib/common/entities.js (0.0%)
    6:52:00 PM:            │ node_modules/uc.micro/categories/Cc/regex.js (0.0%)
    6:52:00 PM:            │ node_modules/js-yaml/index.js (0.0%)
    6:52:00 PM:            └ node_modules/markdown-it/index.js (0.0%)
    6:52:15 PM: ┌───────────────────────┐
    6:52:15 PM: │ built client (legacy) │
    6:52:15 PM: └───────────────────────┘
    6:52:15 PM:    34.4 kB client.c4ab46e5.js
    6:52:15 PM:            │ node_modules/regenerator-runtime/runtime.js (26.0%)
    6:52:15 PM:            │ src/node_modules/@sapper/app.mjs (24.7%)
    6:52:15 PM:            │ node_modules/svelte/internal/index.mjs (12.6%)
    6:52:15 PM:            │ src/node_modules/@sapper/internal/App.svelte (10.2%)
    6:52:15 PM:            │ src/components/Nav.svelte (8.8%)
    6:52:15 PM:            │ src/routes/_error.svelte (5.3%)
    6:52:15 PM:            │ src/routes/_layout.svelte (3.8%)
    6:52:15 PM:            │ node_modules/svelte/store/index.mjs (1.7%)
    6:52:15 PM:            │ src/node_modules/@sapper/internal/manifest-client.mjs (1.7%)
    6:52:15 PM:            │ node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js (0.6%)
    6:52:15 PM:            │ node_modules/@babel/runtime/helpers/esm/createClass.js (0.6%)
    6:52:15 PM:            │ commonjsHelpers.js (0.6%)
    6:52:15 PM:            │ node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js (0.4%)
    6:52:15 PM:            │ node_modules/@babel/runtime/helpers/esm/inherits.js (0.4%)
    6:52:15 PM:            │ node_modules/@babel/runtime/helpers/esm/typeof.js (0.4%)
    6:52:15 PM:            │ node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js (0.2%)
    6:52:15 PM:            │ node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js (0.2%)
    6:52:15 PM:            │ node_modules/@babel/runtime/helpers/esm/nonIterableRest.js (0.2%)
    6:52:15 PM:            │ node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js (0.2%)
    6:52:15 PM:            │ node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js (0.2%)
    6:52:15 PM:            │ node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js (0.2%)
    6:52:15 PM:            │ node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js (0.2%)
    6:52:15 PM:            │ node_modules/@babel/runtime/helpers/esm/classCallCheck.js (0.2%)
    6:52:15 PM:            │ node_modules/@babel/runtime/helpers/esm/slicedToArray.js (0.2%)
    6:52:15 PM:            │ node_modules/@babel/runtime/helpers/esm/toConsumableArray.js (0.2%)
    6:52:15 PM:            │ node_modules/@babel/runtime/helpers/esm/iterableToArray.js (0.1%)
    6:52:15 PM:            │ node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js (0.1%)
    6:52:15 PM:            │ node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js (0.1%)
    6:52:15 PM:            │ src/client.ts (0.1%)
    6:52:15 PM:            │ node_modules/@babel/runtime/regenerator/index.js (0.0%)
    6:52:15 PM:            └ src/node_modules/@sapper/internal/shared.mjs (0.0%)
    6:52:15 PM:      559 B inject_styles.fe622066.js
    6:52:15 PM:            └ inject_styles.js
    6:52:15 PM:    10.9 kB index.346fd974.js
    6:52:15 PM:            └ src/routes/index.svelte
    6:52:15 PM:    1.17 kB about.764f2cdd.js
    6:52:15 PM:            └ src/routes/about.svelte
    6:52:15 PM:    2.49 kB index.050b1928.js
    6:52:15 PM:            └ src/routes/blog/index.svelte
    6:52:15 PM:     131 kB [slug].1ac66c5f.js
    6:52:15 PM:            │ node_modules/entities/lib/maps/entities.json (19.4%)
    6:52:15 PM:            │ node_modules/js-yaml/lib/js-yaml/loader.js (11.0%)
    6:52:15 PM:            │ node_modules/js-yaml/lib/js-yaml/dumper.js (6.5%)
    6:52:15 PM:            │ node_modules/markdown-it/lib/index.js (4.3%)
    6:52:15 PM:            │ node_modules/linkify-it/index.js (4.2%)
    6:52:15 PM:            │ node_modules/punycode/punycode.js (4.0%)
    6:52:15 PM:            │ node_modules/markdown-it/lib/common/utils.js (2.4%)
    6:52:15 PM:            │ node_modules/markdown-it/lib/rules_block/list.js (2.3%)
    6:52:15 PM:            │ node_modules/markdown-it/lib/renderer.js (2.2%)
    6:52:15 PM:            │ node_modules/markdown-it/lib/ruler.js (2.2%)
    6:52:15 PM:            │ node_modules/mdurl/parse.js (2.1%)
    6:52:15 PM:            │ node_modules/markdown-it/lib/rules_block/blockquote.js (1.9%)
    6:52:15 PM:            │ node_modules/markdown-it/lib/rules_block/table.js (1.5%)
    6:52:15 PM:            │ node_modules/markdown-it/lib/rules_block/state_block.js (1.5%)
    6:52:15 PM:            │ node_modules/markdown-it/lib/rules_core/smartquotes.js (1.5%)
    6:52:15 PM:            │ src/routes/blog/[slug].svelte (1.4%)
    6:52:15 PM:            │ node_modules/markdown-it/lib/rules_block/reference.js (1.3%)
    6:52:15 PM:            │ node_modules/linkify-it/lib/re.js (1.3%)
    6:52:15 PM:            │ node_modules/markdown-it/lib/rules_inline/link.js (1.0%)
    6:52:15 PM:            │ node_modules/js-yaml/lib/js-yaml/type/int.js (1.0%)
    6:52:15 PM:            │ node_modules/markdown-it/lib/rules_inline/image.js (1.0%)
    6:52:15 PM:            │ node_modules/markdown-it/lib/rules_inline/state_inline.js (1.0%)
    6:52:15 PM:            │ node_modules/markdown-it/lib/parser_inline.js (1.0%)
    6:52:15 PM:            │ node_modules/markdown-it/lib/rules_core/linkify.js (1.0%)
    6:52:15 PM:            │ node_modules/markdown-it/lib/rules_inline/emphasis.js (0.9%)
    6:52:15 PM:            │ node_modules/markdown-it/lib/token.js (0.9%)
    6:52:15 PM:            │ node_modules/markdown-it/lib/rules_inline/balance_pairs.js (0.8%)
    6:52:15 PM:            │ node_modules/js-yaml/lib/js-yaml/type/binary.js (0.8%)
    6:52:15 PM:            │ node_modules/markdown-it/lib/parser_block.js (0.7%)
    6:52:15 PM:            │ node_modules/markdown-it/lib/rules_inline/strikethrough.js (0.7%)
    6:52:15 PM:            │ node_modules/mdurl/decode.js (0.7%)
    6:52:15 PM:            │ node_modules/front-matter/index.js (0.7%)
    6:52:15 PM:            │ node_modules/js-yaml/lib/js-yaml/type/float.js (0.7%)
    6:52:15 PM:            │ node_modules/markdown-it/lib/rules_block/lheading.js (0.6%)
    6:52:15 PM:            │ node_modules/js-yaml/lib/js-yaml/schema.js (0.6%)
    6:52:15 PM:            │ node_modules/js-yaml/lib/js-yaml/type/js/function.js (0.6%)
    6:52:15 PM:            │ node_modules/markdown-it/lib/rules_block/fence.js (0.6%)
    6:52:15 PM:            │ node_modules/markdown-it/lib/rules_core/replacements.js (0.6%)
    6:52:15 PM:            │ node_modules/js-yaml/lib/js-yaml/type/timestamp.js (0.6%)
    6:52:15 PM:            │ node_modules/mdurl/encode.js (0.6%)
    6:52:15 PM:            │ node_modules/markdown-it/lib/rules_block/html_block.js (0.5%)
    6:52:15 PM:            │ node_modules/markdown-it/lib/rules_inline/autolink.js (0.5%)
    6:52:15 PM:            │ node_modules/uc.micro/categories/P/regex.js (0.5%)
    6:52:15 PM:            │ node_modules/markdown-it/lib/helpers/parse_link_destination.js (0.5%)
    6:52:15 PM:            │ node_modules/markdown-it/lib/rules_inline/backticks.js (0.4%)
    6:52:15 PM:            │ node_modules/markdown-it/lib/presets/commonmark.js (0.4%)
    6:52:15 PM:            │ node_modules/markdown-it/lib/rules_block/paragraph.js (0.4%)
    6:52:15 PM:            │ node_modules/markdown-it/lib/rules_inline/text.js (0.4%)
    6:52:15 PM:            │ node_modules/js-yaml/lib/js-yaml/type/js/regexp.js (0.4%)
    6:52:15 PM:            │ node_modules/markdown-it/lib/rules_block/heading.js (0.4%)
    6:52:15 PM:            │ node_modules/js-yaml/lib/js-yaml.js (0.4%)
    6:52:15 PM:            │ node_modules/js-yaml/lib/js-yaml/mark.js (0.4%)
    6:52:15 PM:            │ node_modules/markdown-it/lib/presets/zero.js (0.4%)
    6:52:15 PM:            │ node_modules/js-yaml/lib/js-yaml/type.js (0.4%)
    6:52:15 PM:            │ node_modules/markdown-it/lib/rules_inline/entity.js (0.3%)
    6:52:15 PM:            │ node_modules/markdown-it/lib/presets/default.js (0.3%)
    6:52:15 PM:            │ node_modules/js-yaml/lib/js-yaml/common.js (0.3%)
    6:52:15 PM:            │ node_modules/markdown-it/lib/helpers/parse_link_title.js (0.3%)
    6:52:15 PM:            │ node_modules/markdown-it/lib/rules_block/hr.js (0.3%)
    6:52:15 PM:            │ node_modules/markdown-it/lib/rules_inline/escape.js (0.3%)
    6:52:15 PM:            │ node_modules/js-yaml/lib/js-yaml/type/pairs.js (0.3%)
    6:52:15 PM:            │ node_modules/markdown-it/lib/rules_inline/newline.js (0.3%)
    6:52:15 PM:            │ node_modules/markdown-it/lib/common/html_re.js (0.3%)
    6:52:15 PM:            │ node_modules/js-yaml/lib/js-yaml/exception.js (0.2%)
    6:52:15 PM:            │ node_modules/markdown-it/lib/rules_inline/html_inline.js (0.2%)
    6:52:15 PM:            │ node_modules/js-yaml/lib/js-yaml/type/omap.js (0.2%)
    6:52:15 PM:            │ node_modules/markdown-it/lib/helpers/parse_link_label.js (0.2%)
    6:52:15 PM:            │ node_modules/js-yaml/lib/js-yaml/type/bool.js (0.2%)
    6:52:15 PM:            │ node_modules/markdown-it/lib/rules_inline/text_collapse.js (0.2%)
    6:52:15 PM:            │ node_modules/markdown-it/lib/parser_core.js (0.2%)
    6:52:15 PM:            │ node_modules/js-yaml/lib/js-yaml/type/null.js (0.2%)
    6:52:15 PM:            │ node_modules/markdown-it/lib/rules_block/code.js (0.2%)
    6:52:15 PM:            │ node_modules/markdown-it/lib/common/html_blocks.js (0.2%)
    6:52:15 PM:            │ node_modules/js-yaml/lib/js-yaml/type/js/undefined.js (0.1%)
    6:52:15 PM:            │ node_modules/js-yaml/lib/js-yaml/type/set.js (0.1%)
    6:52:15 PM:            │ node_modules/mdurl/format.js (0.1%)
    6:52:15 PM:            │ node_modules/markdown-it/lib/rules_core/block.js (0.1%)
    6:52:15 PM:            │ node_modules/markdown-it/lib/rules_core/inline.js (0.1%)
    6:52:15 PM:            │ node_modules/markdown-it/lib/rules_core/normalize.js (0.1%)
    6:52:15 PM:            │ node_modules/markdown-it/lib/rules_core/state_core.js (0.1%)
    6:52:15 PM:            │ node_modules/markdown-it/lib/helpers/index.js (0.1%)
    6:52:15 PM:            │ node_modules/@babel/runtime/helpers/esm/defineProperty.js (0.1%)
    6:52:15 PM:            │ node_modules/uc.micro/categories/Cf/regex.js (0.1%)
    6:52:15 PM:            │ node_modules/mdurl/index.js (0.0%)
    6:52:15 PM:            │ node_modules/js-yaml/lib/js-yaml/type/merge.js (0.0%)
    6:52:15 PM:            │ node_modules/uc.micro/index.js (0.0%)
    6:52:15 PM:            │ node_modules/js-yaml/lib/js-yaml/type/seq.js (0.0%)
    6:52:15 PM:            │ node_modules/js-yaml/lib/js-yaml/type/map.js (0.0%)
    6:52:15 PM:            │ node_modules/js-yaml/lib/js-yaml/type/str.js (0.0%)
    6:52:15 PM:            │ node_modules/uc.micro/properties/Any/regex.js (0.0%)
    6:52:15 PM:            │ node_modules/js-yaml/lib/js-yaml/schema/default_safe.js (0.0%)
    6:52:15 PM:            │ node_modules/js-yaml/lib/js-yaml/schema/default_full.js (0.0%)
    6:52:15 PM:            │ node_modules/js-yaml/lib/js-yaml/schema/json.js (0.0%)
    6:52:15 PM:            │ node_modules/uc.micro/categories/Z/regex.js (0.0%)
    6:52:15 PM:            │ node_modules/js-yaml/lib/js-yaml/schema/failsafe.js (0.0%)
    6:52:15 PM:            │ node_modules/markdown-it/lib/common/entities.js (0.0%)
    6:52:15 PM:            │ node_modules/js-yaml/lib/js-yaml/schema/core.js (0.0%)
    6:52:15 PM:            │ node_modules/uc.micro/categories/Cc/regex.js (0.0%)
    6:52:15 PM:            │ node_modules/js-yaml/index.js (0.0%)
    6:52:15 PM:            └ node_modules/markdown-it/index.js (0.0%)
    6:52:19 PM: ┌──────────────┐
    6:52:19 PM: │ built server │
    6:52:19 PM: └──────────────┘
    6:52:21 PM: ┌─────────────────────┐
    6:52:21 PM: │ built serviceworker │
    6:52:21 PM: └─────────────────────┘
    6:52:21 PM: > Built in 37.1s
    6:52:21 PM: > Crawling http://localhost:3000/
    6:52:21 PM:    5.12 kB   index.html
    6:52:21 PM:    2.07 kB   service-worker-index.html
    6:52:21 PM:    14.1 kB   apple-touch-icon.png
    6:52:21 PM:    15.4 kB   favicon.ico
    6:52:21 PM:     1.9 kB   favicon-32x32.png
    6:52:21 PM:      775 B   favicon-16x16.png
    6:52:21 PM:    10.4 kB   client/index.99e2c4e9.js
    6:52:21 PM:    20.4 kB   client/client.e186c811.js
    6:52:21 PM:      400 B   manifest.json
    6:52:21 PM:      559 B   client/inject_styles.5607aec6.js
    6:52:21 PM:    2.17 kB   about/index.html
    6:52:21 PM:     192 kB   client/client-4a25282e.css
    6:52:21 PM:      619 B   client/about.417b96af.js
    6:52:21 PM: > Finished in 37.6s. Type npx serve __sapper__/export to run the app.
    6:52:21 PM: ​
    6:52:21 PM: (build.command completed in 38.2s)
    6:52:21 PM: ​
    6:52:21 PM: ────────────────────────────────────────────────────────────────
    6:52:21 PM:   2. onPostBuild command from @netlify/plugin-deploy-core       
    6:52:21 PM: ────────────────────────────────────────────────────────────────
    6:52:21 PM: ​
    6:52:21 PM: Starting to deploy site from '__sapper__/export'
    6:52:21 PM: Creating deploy tree 
    6:52:21 PM: Creating deploy upload records
    6:52:22 PM: 4 new files to upload
    6:52:22 PM: 0 new functions to upload
    6:52:22 PM: Site deploy was successfully initiated
    6:52:22 PM: ​
    6:52:22 PM: (@netlify/plugin-deploy-core onPostBuild completed in 354ms)
    6:52:22 PM: ​
    6:52:22 PM: ────────────────────────────────────────────────────────────────
    6:52:22 PM:   Netlify Build Complete                                        
    6:52:22 PM: ────────────────────────────────────────────────────────────────
    6:52:22 PM: ​
    6:52:22 PM: (Netlify Build completed in 39.3s)
    6:52:22 PM: Starting post processing
    6:52:22 PM: Post processing - HTML
    6:52:22 PM: Caching artifacts
    6:52:22 PM: Started saving node modules
    6:52:22 PM: Finished saving node modules
    6:52:22 PM: Started saving build plugins
    6:52:22 PM: Finished saving build plugins
    6:52:22 PM: Started saving pip cache
    6:52:22 PM: Finished saving pip cache
    6:52:22 PM: Started saving emacs cask dependencies
    6:52:22 PM: Finished saving emacs cask dependencies
    6:52:22 PM: Started saving maven dependencies
    6:52:22 PM: Finished saving maven dependencies
    6:52:22 PM: Started saving boot dependencies
    6:52:22 PM: Finished saving boot dependencies
    6:52:22 PM: Started saving rust rustup cache
    6:52:22 PM: Finished saving rust rustup cache
    6:52:22 PM: Started saving go dependencies
    6:52:22 PM: Finished saving go dependencies
    6:52:22 PM: Build script success
    6:52:22 PM: Processing form - contact-form
    6:52:22 PM: Detected form fields:
    6:52:22 PM:  - guest-name
    6:52:22 PM:  - email
    6:52:22 PM:  - description
    6:52:22 PM: Post processing - header rules
    6:52:22 PM: Post processing - redirect rules
    6:52:22 PM: Post processing done
    6:52:23 PM: Site is live ✨
    6:52:37 PM: Finished processing build request in 1m9.02494278s

I don’t see why it’s not working. According to this:

it does seem like the form is getting encoded and sent. The HTML looks valid and the form is even getting detected in your dashboard (according to your build log). So, it should really work.

1 Like

This SHOULD work, right? Haha, I feel like that is the story of my career. Hopefully we’ll eventually figure it out :man_shrugging: :face_with_monocle:

Hey @bmcilw1,
Can you try handling the form submission with javascript? This may help you, as the person in this thread was also using svelte/sapper:

There’s another code snippet here:

I’d also suggest using data-netlify="true" instead of netlify inside the form tag. I’ve seen that work better with SSG frameworks.

Let us know how it goes!

Just updated to use data-netlify. I had tried that without success. I tried again though, but still no success.

Here’s the updated html. I’ll take a look at a javascript fueled form, but my hunch tells me that’s not likely the issue here because the documentation says that the form in the HTML markup should be injected with some additional tags in the build process, which is not happening. So, I think the issue is in the build process and not the submission flow at runtime. Thanks for the thoughts though! I’ll see if I can test and let you know.

      <form name="contact-form" data-netlify="true" method="POST">
        <div class="field">
          <label class="label" for="guest-name">Name</label>
          <div class="control">
            <input
              class="input"
              name="guest-name"
              type="text"
              placeholder="Your name"
            />
          </div>
        </div>
        <div class="field">
          <label class="label" for="email">Email</label>
          <div class="control">
            <input
              class="input"
              name="email"
              type="email"
              placeholder="Your email"
            />
          </div>
        </div>
        <div class="field">
          <label class="label" for="description">Bug Descripton</label>
          <div class="control">
            <textarea
              class="textarea"
              name="description"
              placeholder="Describe the bug you're working on..."
            />
          </div>
        </div>
        <div class="field">
          <div class="control">
            <button type="submit" class="button is-primary">Submit</button>
          </div>
        </div>
      </form>