Fix: Submitter missing when form includes input[name="id"] #34990
+86
−2
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Fixes #34944
Problem
When a form contains
<input name="id">, the named control clobbersform.id,causing React to associate the temporary submitter with the input instead of the form.
This results in the submitter's name/value missing from FormData.
Fix
Use
form.getAttribute('id')instead ofform.idinsidecreateFormDataWithSubmitter()to always retrieve the form’s actualidattribute.Tests
Added regression tests in:
packages/react-dom-bindings/src/events/__tests__/form-action-submitters.test.jsCovers:
form="my-form"All lints and tests pass locally.