Forum: Ruby on Rails question about Form

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
huang zhimin (Guest)
on 2007-06-21 06:31
(Received via mailing list)
I have a case that a form has two submit button,
one is edit button that only change the current div that can use
form_remote_tag,
the other is delete button that should refresh the whole page that can
use
form_tag.

But I what use edit and delete button both in a form, how can I do that?

--
http://sourceforge.net/projects/mycodeline/
Daniel -. (Guest)
on 2007-06-21 07:11
(Received via mailing list)
On 6/21/07, huang zhimin <removed_email_address@domain.invalid> wrote:
>
> I have a case that a form has two submit button,
> one is edit button that only change the current div that can use
> form_remote_tag,
> the other is delete button that should refresh the whole page that can use
> form_tag.
>
> But I what use edit and delete button both in a form, how can I do that?
>
> --



I think javascript is the only way I can think of.

One way would be to load the page, and then attach an event listener to
the
submit event of the form.  Then you detect if it's an edit click, in
which
case make an ajax request and the stop the event with Event.stop( event
).
If it's the delete button do nothing and let the form take it's natural
course.

Daniel
Jeff E. (Guest)
on 2007-06-21 08:14
(Received via mailing list)
typically if you're going to use more than one submit button inside a
form, then you can check to see which was clicked in two ways:

1.  name both buttons the same, and check which value is posted
<form>
 <input type='submit' name='btnSubmit' value='submit one' />
 <input type='submit' name='btnSubmit' value='submit two' />
</form>

if params[:btnSubmit] == "submit one"
  ... do this ...
else
  ... do that ...
end

2.  name the buttons differently, and see which posts a value
<form>
 <input type='submit' name='btnSave' value='Save' />
 <input type='submit' name='btnCancel' value='Cancel' />
</form>

if params[:btnSave]
  ... do this ...
elsif params[:btnCancel]
  ... do that ...
end

personally I tend to use method # 2
huang zhimin (Guest)
on 2007-06-21 08:16
(Received via mailing list)
I got it.

<% form_tag :action => "destroy" do %>
    <table>
    <% for category in @categories %>
      <tr>
        <td width="10%"><%= radio_button 'category', 'id', category.id
%><%=
h category.name %></td>
      </tr>
    <% end %>
    </table>
    <%= submit_to_remote 'edit', 'Edit', :update => 'category', :url =>
{
:action => 'edit' } %>
    <%= submit_tag 'Delete' %>
<% end %>

edit button is submit_to_remote which is asynchronized and delete button
is
submit_tag that will refresh the whole page

On 6/21/07, jemminger <removed_email_address@domain.invalid> wrote:
>
> </form>
> On Jun 20, 10:30 pm, "huang zhimin" <removed_email_address@domain.invalid> wrote:
>
>
> >
>


--
http://sourceforge.net/projects/mycodeline/
This topic is locked and can not be replied to.