Sending parameters with submit doesn't work

I’ve got very long form for submitting table search - its code is partially pasted below. As title says - submitting doesn’t send its name and value parameters. There is a code of my form:

<form action="#" phx-submit="search" id="search-form">

<%= label :city, gettext("City") %>
<%= text_input :params, :city, value: %>

<%= label :range, gettext("Range") %>
<%= number_input :params, :range, value: @form_vals.range %>

... many other params ...

<%= label :page_size, gettext("Page size") %>
<%= select :params, :page_size, [5, 10, 20, 50, 100], value: @page_size %>

<%= submit gettext("Search"), value: @page_number, name: "page", phx_disable_with: gettext("Searching...") %> <br>

<%= submit gettext("Previous page"), value: @page_number+1, name: "page", phx_disable_with: gettext("Loading...") %>
Page: <%= @page_number %>, total pages: <%= @total_pages %>
<%= submit gettext("Next page"), value: @page_number-1, name: "page", phx_disable_with: gettext("Loading...") %>


The behaviour I want to achieve is to get %{"page" => number} with parameters in my liveview event handler. Rest of the parameters is passed. No clue why it doesn’t work for submit button value.

You might be better off to just use hidden_input/3 in this case.

1 Like

Yea, I just did this and I used JS to increment or decrement page number. That’s a good workaround I think. I also found a reason after a small research: