Permalink
Browse files

Fix that FormTagHelper#submit_tag using :disable_with should trigger …

…the onsubmit handler of its form if available [DHH]

git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@6134 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
  • Loading branch information...
1 parent 9f31ecb commit 06b1198736498f2ba97b5e0a38f3264d45201aeb @dhh dhh committed Feb 6, 2007
View
@@ -1,6 +1,8 @@
*SVN*
-# Fix #render_file so that TemplateError is called with the correct params and you don't get the WSOD. [Rick]
+* Fix that FormTagHelper#submit_tag using :disable_with should trigger the onsubmit handler of its form if available [DHH]
+
+* Fix #render_file so that TemplateError is called with the correct params and you don't get the WSOD. [Rick]
* Fix issue with deprecation messing up #template_root= usage. Add #prepend_view_path and #append_view_path to allow modification of a copy of the
superclass' view_paths. [Rick]
@@ -141,7 +141,12 @@ def submit_tag(value = "Save changes", options = {})
options.stringify_keys!
if disable_with = options.delete("disable_with")
- options["onclick"] = "this.disabled=true;this.value='#{disable_with}';this.form.submit();#{options["onclick"]}"
+ options["onclick"] = [
+ "this.disabled=true",
+ "this.value='#{disable_with}'",
+ "#{options["onclick"]}",
+ "return (this.form.onsubmit ? this.form.onsubmit() : true)",
+ ].join(";")
end
tag :input, { "type" => "submit", "name" => "commit", "value" => value }.update(options.stringify_keys)
@@ -132,7 +132,7 @@ def test_stringify_symbol_keys
def test_submit_tag
assert_dom_equal(
- %(<input name='commit' type='submit' value='Save' onclick="this.disabled=true;this.value='Saving...';this.form.submit();alert('hello!')" />),
+ %(<input name='commit' type='submit' value='Save' onclick="this.disabled=true;this.value='Saving...';alert('hello!');return (this.form.onsubmit ? this.form.onsubmit() : true)" />),
submit_tag("Save", :disable_with => "Saving...", :onclick => "alert('hello!')")
)
end

0 comments on commit 06b1198

Please sign in to comment.