surface-ui / surface

A server-side rendering component library for Phoenix
https://surface-ui.org
MIT License
2.08k stars 150 forks source link

Submitted forms don't carry the "submitter" attribute #709

Open paradox460 opened 1 year ago

paradox460 commented 1 year ago

Describe the bug

Phoenix gained the ability to distinguish between which submit button was clicked in https://github.com/phoenixframework/phoenix_live_view/pull/2490. Unfortunately, this doesn't work with the default way surface handles form submit.

How to reproduce it

  1. Create a form using <Form> components, with 2 submit buttons. Ensure the submit buttons have a name and value attribute set
    <Form
      for={@changeset}
      trigger_action={false}
      submit="submit"
      change="change"
    >
      <button type="submit" name="submit" value="submit">Submit</button>
      <button type="submit" name="submit" value="save">save</button>
    </Form>
  2. Attempt to submit the form using either button. You will not see the submit as a value in the params map

The behavior you expected

I should see the submit value as either save or submit, depending on the button that was clicked. This is how it works in native Phoenix LiveView

Your Environment

Surface: v0.11.0 LiveView: v0.19.5 Elixir: 1.14.4-otp-25