From e59bfc85196cc4921f87b4b145048b7fa1fbbabb Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Tue, 21 Jun 2005 07:08:13 +0000 Subject: Added a fall-through action for form_remote_tag that'll be used in case Javascript is unavailable #1459 [Scott Barron] git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@1464 5ecf4fe2-1ee6-0310-87b1-e25e094e27de --- actionpack/CHANGELOG | 4 ++++ actionpack/lib/action_view/helpers/javascript_helper.rb | 8 ++++++++ 2 files changed, 12 insertions(+) (limited to 'actionpack') diff --git a/actionpack/CHANGELOG b/actionpack/CHANGELOG index cbfb3993bb..174cb88d20 100644 --- a/actionpack/CHANGELOG +++ b/actionpack/CHANGELOG @@ -1,5 +1,9 @@ *SVN* +* Added a fall-through action for form_remote_tag that'll be used in case Javascript is unavailable #1459 [Scott Barron]. Example: + + form_remote_tag :html => { :action => url_for(:controller => "some", :action => "place") } + * Added :xhr => true/false option to verify so you can ensure that a request is coming from an Ajax call or not #1464 [Thomas Fuchs] * Added tag_options as a third parameter to AssetHelper#auto_discovery_link_tag to control options like the title of the link #1430 [kevin.clark@gmail.com] diff --git a/actionpack/lib/action_view/helpers/javascript_helper.rb b/actionpack/lib/action_view/helpers/javascript_helper.rb index 11f513c01c..d5e2a8b2dc 100644 --- a/actionpack/lib/action_view/helpers/javascript_helper.rb +++ b/actionpack/lib/action_view/helpers/javascript_helper.rb @@ -97,11 +97,19 @@ module ActionView # reloading POST arrangement. Even though it's using Javascript to serialize the form elements, the form submission # will work just like a regular submission as viewed by the receiving side (all elements available in @params). # The options for specifying the target with :url and defining callbacks is the same as link_to_remote. + # + # A "fall-through" target for browsers that doesn't do Javascript can be specified with the :action/:method options on :html + # + # form_remote_tag :html => { :action => url_for(:controller => "some", :action => "place") } + # + # By default the fall-through action is the same as the one specified in the :url (and the default method is :post). def form_remote_tag(options = {}) options[:form] = true options[:html] ||= {} options[:html][:onsubmit] = "#{remote_function(options)}; return false;" + options[:html][:action] = options[:html][:action] || url_for(options[:url]) + options[:html][:method] = options[:html][:method] || "post" tag("form", options[:html], true) end -- cgit v1.2.3