Skip to content

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

@paradox460

Description

@paradox460

Describe the bug

Phoenix gained the ability to distinguish between which submit button was clicked in phoenixframework/phoenix_live_view#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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions