From 7bfca7e717aca77ab8dcc629c55abe71f2e5e4bd Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Sat, 18 Mar 2006 16:08:09 +0000 Subject: Added :function option to PrototypeHelper#observe_field/observe_form that allows you to call a function instead of submitting an ajax call as the trigger (closes #4268) [jonathan@daikini.com] git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@3926 5ecf4fe2-1ee6-0310-87b1-e25e094e27de --- actionpack/lib/action_view/helpers/prototype_helper.rb | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'actionpack/lib/action_view') diff --git a/actionpack/lib/action_view/helpers/prototype_helper.rb b/actionpack/lib/action_view/helpers/prototype_helper.rb index d49bc94517..35a671c081 100644 --- a/actionpack/lib/action_view/helpers/prototype_helper.rb +++ b/actionpack/lib/action_view/helpers/prototype_helper.rb @@ -315,9 +315,11 @@ module ActionView # Observes the field with the DOM ID specified by +field_id+ and makes # an Ajax call when its contents have changed. # - # Required +options+ are: + # Required +options+ are either of: # :url:: +url_for+-style options for the action to call # when the field has changed. + # :function:: Instead of making a remote call to a URL, you + # can specify a function to be called instead. # # Additional options are: # :frequency:: The frequency (in seconds) at which changes to @@ -702,7 +704,7 @@ module ActionView options[:with] ||= 'value' if options[:update] end - callback = remote_function(options) + callback = options[:function] || remote_function(options) javascript = "new #{klass}('#{name}', " javascript << "#{options[:frequency]}, " if options[:frequency] javascript << "function(element, value) {" -- cgit v1.2.3