Closed
Description
🙋 Feature Request
It would be nice to have a "form" attribute for React Spectrum Buttons, when they are of type="submit".
🔦 Context
See the following example coming from the React Spectrum examples page:
<DialogTrigger>
<ActionButton>Register</ActionButton>
{(close) => (
<Dialog>
<Heading>
<Flex alignItems="center" gap="size-100">
<Book size="S" />
<Text>Register for newsletter</Text>
</Flex>
</Heading>
<Header>
<Link>
<a href="//example.com" target="_blank">
What is this?
</a>
</Link>
</Header>
<Divider />
<Content>
<Form>
<TextField label="First Name" placeholder="John" autoFocus />
<TextField label="Last Name" placeholder="Smith" />
<TextField label="Street Address" placeholder="123 Any Street" />
<TextField label="City" placeholder="San Francisco" />
</Form>
</Content>
<Footer>
<Checkbox>
I want to receive updates for exclusive offers in my area.
</Checkbox>
</Footer>
<ButtonGroup>
<Button variant="secondary" onPress={close}>
Cancel
</Button>
<Button variant="cta" onPress={close}>
Register
</Button>
</ButtonGroup>
</Dialog>
)}
</DialogTrigger>
The dialog is nicely designed, and the content is kept separate in the <Heading>
, <Content>
, and <Footer>
.
Problem is that the ButtonGroup, which very likely contains a submit button in such Dialogs, belongs to the Footer, i.e. it's not contained within the <Form>
component – hence it can't act as a Button of type="submit".
In HTML it's possible to add a form
attribute to a submit Button, so that it can work regardless to its positioning. E.g.
<form id="aForm">
<!-- stuff -->
</form>
<button type="submit" form="aForm">Submit</button>
A similar possibility for <Form>
and React Buttons would be nice to have.
Thanks!
Metadata
Metadata
Assignees
Type
Projects
Status
✅ Done