commit 51b986619d88f7ba98be7d271188785cbbb541a0
Author: Tarmo Tänav <tarmo@itech.ee>
Date:   Mon Oct 6 17:35:21 2008 +0300

    Implement submit_to_remote as a wrapper around a more generic button_to_remote
    
    Removed the "return false" from submit_to_remote onclick end as
    button input elements have no default behavior to cancel.
    
    Signed-off-by: Pratik Naik <pratiknaik@gmail.com>

diff --git a/actionpack/CHANGELOG b/actionpack/CHANGELOG
index 54ea93f..4de93a1 100644
--- a/actionpack/CHANGELOG
+++ b/actionpack/CHANGELOG
@@ -1,5 +1,7 @@
 *Edge*
 
+* Make PrototypeHelper#submit_to_remote a wrapper around PrototypeHelper#button_to_remote. [Tarmo Tänav]
+
 * Set HttpOnly for the cookie session store's cookie.  #1046 
 
 * Added FormTagHelper#image_submit_tag confirm option #784 [Alastair Brunton]
diff --git a/actionpack/lib/action_view/helpers/prototype_helper.rb b/actionpack/lib/action_view/helpers/prototype_helper.rb
index ff41a6d..a3eccc7 100644
--- a/actionpack/lib/action_view/helpers/prototype_helper.rb
+++ b/actionpack/lib/action_view/helpers/prototype_helper.rb
@@ -405,7 +405,7 @@ module ActionView
       #  # Generates: <input name="create_btn" onclick="new Ajax.Request('/testing/create',
       #  #     {asynchronous:true, evalScripts:true, parameters:Form.serialize(this.form)});
       #  #     return false;" type="button" value="Create" />
-      #  <%= button_to_remote 'create_btn', 'Create', :url => { :action => 'create' } %>
+      #  <%= submit_to_remote 'create_btn', 'Create', :url => { :action => 'create' } %>
       #
       #  # Submit to the remote action update and update the DIV succeed or fail based
       #  # on the success or failure of the request
@@ -413,24 +413,18 @@ module ActionView
       #  # Generates: <input name="update_btn" onclick="new Ajax.Updater({success:'succeed',failure:'fail'},
       #  #      '/testing/update', {asynchronous:true, evalScripts:true, parameters:Form.serialize(this.form)});
       #  #      return false;" type="button" value="Update" />
-      #  <%= button_to_remote 'update_btn', 'Update', :url => { :action => 'update' },
+      #  <%= submit_to_remote 'update_btn', 'Update', :url => { :action => 'update' },
       #     :update => { :success => "succeed", :failure => "fail" }
       #
       # <tt>options</tt> argument is the same as in form_remote_tag.
-      #
-      # Note: This method used to be called submit_to_remote, but that's now just an alias for button_to_remote
-      def button_to_remote(name, value, options = {})
+      def submit_to_remote(name, value, options = {})
         options[:with] ||= 'Form.serialize(this.form)'
 
-        options[:html] ||= {}
-        options[:html][:type] = 'button'
-        options[:html][:onclick] = "#{remote_function(options)}; return false;"
-        options[:html][:name] = name
-        options[:html][:value] = value
+        html_options = options.delete(:html) || {}
+        html_options[:name] = name
 
-        tag("input", options[:html], false)
+        button_to_remote(value, options, html_options)
       end
-      alias_method :submit_to_remote, :button_to_remote
 
       # Returns '<tt>eval(request.responseText)</tt>' which is the JavaScript function
       # that +form_remote_tag+ can call in <tt>:complete</tt> to evaluate a multiple
diff --git a/actionpack/test/template/prototype_helper_test.rb b/actionpack/test/template/prototype_helper_test.rb
index a1f541f..d6b86a3 100644
--- a/actionpack/test/template/prototype_helper_test.rb
+++ b/actionpack/test/template/prototype_helper_test.rb
@@ -218,9 +218,9 @@ class PrototypeHelperTest < PrototypeHelperBaseTest
 
   end
 
-  def test_button_to_remote
-    assert_dom_equal %(<input name=\"More beer!\" onclick=\"new Ajax.Updater('empty_bottle', 'http://www.example.com/', {asynchronous:true, evalScripts:true, parameters:Form.serialize(this.form)}); return false;\" type=\"button\" value=\"1000000\" />),
-      button_to_remote("More beer!", 1_000_000, :update => "empty_bottle")
+  def test_submit_to_remote
+    assert_dom_equal %(<input name=\"More beer!\" onclick=\"new Ajax.Updater('empty_bottle', 'http://www.example.com/', {asynchronous:true, evalScripts:true, parameters:Form.serialize(this.form)});\" type=\"button\" value=\"1000000\" />),
+      submit_to_remote("More beer!", 1_000_000, :update => "empty_bottle")
   end
 
   def test_observe_field
