edmundhung / conform

A type-safe form validation library utilizing web fundamentals to progressively enhance HTML Forms with full support for server frameworks like Remix and Next.js.
https://conform.guide
MIT License
1.8k stars 101 forks source link

Remix `resetForm: true` not working when submit from keyboard ("Enter" key) on Chrome #701

Open davidesigner opened 2 months ago

davidesigner commented 2 months ago

Describe the bug and the expected behavior

When I activate the resetForm and follow the tips from the Conform Remix documentation, I have an unexpected behaviour when I use the keyboard to submit the form.

Conform version

v1.1.5

Steps to Reproduce the Bug or Issue

No problem on Safari, only on Chrome...

  1. Open this sandbox: https://codesandbox.io/p/devbox/conform-reset-form-ffv2zs?file=%2Fapp%2Froutes%2Fsignup.tsx
  2. Complete the form.
  3. Click "Enter" from a field → you will see that the form is not reset.
    • Moreover, a second POST request is made on the page itself (not on the loader ?_data is missing), that is not normal.
  4. Click on the submit button → you will see that the form is reset as expected.
    • Only one POST request as expected.
  5. If you change the code to disable the resetForm: resetForm: false, and retry the same test.
    • The form is not reset, but you will see that in both cases (keyboard and click), there is only one POST request.

What browsers are you seeing the problem on?

Chrome

Screenshots or Videos

As you can see here:

https://github.com/edmundhung/conform/assets/13423202/0030234c-f253-475c-919e-d3ca8c50f5e1

The form is not reset when I submit the form from the "Enter" key on my keyboard from a field. But when I click on the submit button, the form is reset as expected.

Additional context

I don't understand why when I use the keyboard to submit the form on Chrome, there is second POST requests?

edmundhung commented 1 month ago

Seems to me the same problem as #730 which should be resolved once we release #729.