Is it possible to have a form without a submit tag in rails?

6 views
Skip to first unread message

Pito Salas

unread,
Apr 2, 2010, 11:02:28 AM4/2/10
to rubyonra...@googlegroups.com
This is probably a stupid question but I am confused...

I see an example in the 3d Edition of Agile Dev with Rails (page 539)
where a simple calculator view, with two text boxes for numbers and a
dropdown for what operation to perform, does not mention a submit button
or gesture.

I don't understand that. Yes, the form_tag does indicate an :action => ,
but what triggers that if there is no <%= submit_tag 'Save' %>?

Thanks!

Pito
--
Posted via http://www.ruby-forum.com/.

Philip Hallstrom

unread,
Apr 2, 2010, 12:58:23 PM4/2/10
to rubyonra...@googlegroups.com
> This is probably a stupid question but I am confused...
>
> I see an example in the 3d Edition of Agile Dev with Rails (page 539)
> where a simple calculator view, with two text boxes for numbers and a
> dropdown for what operation to perform, does not mention a submit
> button
> or gesture.
>
> I don't understand that. Yes, the form_tag does indicate an :action
> => ,
> but what triggers that if there is no <%= submit_tag 'Save' %>?

Browser dependent, but usually if you hit ENTER while in a text field
it will submit the form.

Or perhaps that form's submission is being triggered via javascript.

Srijith nair

unread,
Apr 2, 2010, 1:53:34 PM4/2/10
to rubyonra...@googlegroups.com
There may be chance of form without submit button ..
In your example might be form is submitting in script by using the
javascript function submit() inside the script tag, when any of the
field changed inside the form

<script>
$("#student_name").change(function(){
$("#sree").submit()
})

</script>
<form id='sree'>
<%=text_field 'student','name'%>
</form>

Pito Salas

unread,
Apr 3, 2010, 11:11:25 AM4/3/10
to rubyonra...@googlegroups.com
Philip Hallstrom wrote:
>> but what triggers that if there is no <%= submit_tag 'Save' %>?
> Browser dependent, but usually if you hit ENTER while in a text field
> it will submit the form.
>
> Or perhaps that form's submission is being triggered via javascript.

Hi Phillip

There's no javascript, but I think the default submit via ENTER must be
what was intended. I didn't know about that. Thanks!

Colin Law

unread,
Apr 3, 2010, 12:09:34 PM4/3/10
to rubyonra...@googlegroups.com

All that enter does is to hit the button by the keyboard instead of
the mouse, so that does not explain it.
Have you got the pdf of the book, if so then copy out the view and
post it here. Or is the code downloadable from somewhere so that you
can get it and post it?
There is definitely a form on the page I presume?

Colin

Hassan Schroeder

unread,
Apr 3, 2010, 12:41:01 PM4/3/10
to rubyonra...@googlegroups.com
On Sat, Apr 3, 2010 at 9:09 AM, Colin Law <cla...@googlemail.com> wrote:

>>> Browser dependent, but usually if you hit ENTER while in a text field
>>> it will submit the form.

> All that enter does is to hit the button by the keyboard instead of


> the mouse, so that does not explain it.

Sure it does. Open up a test app and put this minimal form in a page:

<form action="/"><input/><input/></form>

Load the page, put focus on one of those fields and hit the enter key.

--
Hassan Schroeder ------------------------ hassan.s...@gmail.com
twitter: @hassan

Colin Law

unread,
Apr 3, 2010, 3:14:40 PM4/3/10
to rubyonra...@googlegroups.com
On 3 April 2010 17:41, Hassan Schroeder <hassan.s...@gmail.com> wrote:
> On Sat, Apr 3, 2010 at 9:09 AM, Colin Law <cla...@googlemail.com> wrote:
>
>>>> Browser dependent, but usually if you hit ENTER while in a text field
>>>> it will submit the form.
>
>> All that enter does is to hit the button by the keyboard instead of
>> the mouse, so that does not explain it.
>
> Sure it does. Open up a test app and put this minimal form in a page:
>
> <form action="/"><input/><input/></form>
>
> Load the page, put focus on one of those fields and hit the enter key.

I tried it, nothing happens. (in FF)

Colin

>

> --
> Hassan Schroeder ------------------------ hassan.s...@gmail.com
> twitter: @hassan
>

> --
> You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group.
> To post to this group, send email to rubyonra...@googlegroups.com.
> To unsubscribe from this group, send email to rubyonrails-ta...@googlegroups.com.
> For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en.
>
>

Hassan Schroeder

unread,
Apr 3, 2010, 3:20:03 PM4/3/10
to rubyonra...@googlegroups.com
On Sat, Apr 3, 2010 at 12:14 PM, Colin Law <cla...@googlemail.com> wrote:

>> <form action="/"><input/><input/></form>
>>
>> Load the page, put focus on one of those fields and hit the enter key.
>
> I tried it, nothing happens. (in FF)

Proving it *is* implementation-dependent -- the form submits in both
Safari and Chrome (on OS X, at least).

Colin Law

unread,
Apr 3, 2010, 3:45:14 PM4/3/10
to rubyonra...@googlegroups.com
On 3 April 2010 20:20, Hassan Schroeder <hassan.s...@gmail.com> wrote:
> On Sat, Apr 3, 2010 at 12:14 PM, Colin Law <cla...@googlemail.com> wrote:
>
>>> <form action="/"><input/><input/></form>
>>>
>>> Load the page, put focus on one of those fields and hit the enter key.
>>
>> I tried it, nothing happens. (in FF)
>
> Proving it *is* implementation-dependent -- the form submits in both
> Safari and Chrome (on OS X, at least).

So it is not likely that the tutorial the OP is following is assuming
that this will work.

Colin

>
> --
> Hassan Schroeder ------------------------ hassan.s...@gmail.com
> twitter: @hassan
>

Robert Walker

unread,
Apr 5, 2010, 9:26:42 AM4/5/10
to rubyonra...@googlegroups.com
Colin Law wrote:
> So it is not likely that the tutorial the OP is following is assuming
> that this will work.

As far as I can tell that is precisely what the the tutorial the OP is
following is assuming. I also have a copy of that book and the example
form is exactly as presented by the OP. Two text fields and one select
field with no submit button. There is no mention of JavaScript. The
example form is illustrated in Safari, which would function, but
probably would not work in FF.

So Yes, this is a bad example. The form should contain a submit button
if you want it to work consistently in all browsers.

Reply all
Reply to author
Forward
0 new messages