Skip to content

Description

The Form.Handler component provides both the Form.Element and a HTML form element.

  • It ensures, users can press enter key while focusing on an input field.
  • It calls preventDefault by default.
import '@dnb/eufemia/extensions/forms/style'
import { Form } from '@dnb/eufemia/extensions/forms'
render(
<Form.Handler
data={existingData}
onChange={...}
onSubmit={...}
>
Your Form
</Form.Handler>,
)

Demos

In combination with a SubmitButton

Code Editor
<Form.Handler
  defaultData={{
    email: null,
  }}
  onSubmit={(event) => console.log('onSubmit', event)}
>
  <Card spacing="medium">
    <Field.Email path="/email" />
    <Form.ButtonRow>
      <Form.SubmitButton />
    </Form.ButtonRow>
  </Card>
</Form.Handler>

With session storage

Changes you make to the fields are saved to session storage and loaded when the browser reload (as long as it is the same session)

Code Editor
<Form.Handler
  onSubmit={(event) => console.log('onSubmit', event)}
  sessionStorageId="session-key"
>
  <Card spacing="medium">
    <Field.String label="Name" path="/name" />
    <Field.Email path="/email" />
    <Form.ButtonRow>
      <Form.SubmitButton />
    </Form.ButtonRow>
  </Card>
</Form.Handler>