Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

Merge pull request #489 from dmethvin/fix-10208-button-type

Fix #10208. Check for `button` as well as `input`
  • Loading branch information...
commit 69585ba3c7f4f49b6370f63963b7317698ead861 2 parents 8e8fa6d + 81c778b
@dmethvin dmethvin authored
Showing with 8 additions and 3 deletions.
  1. +3 −2 src/event.js
  2. +5 −1 test/unit/event.js
View
5 src/event.js
@@ -702,8 +702,9 @@ if ( !jQuery.support.submitBubbles ) {
setup: function( data, namespaces ) {
if ( !jQuery.nodeName( this, "form" ) ) {
jQuery.event.add(this, "click.specialSubmit", function( e ) {
+ // Avoid triggering error on non-existent type attribute in IE VML (#7071)
var elem = e.target,
- type = jQuery.nodeName( elem, "input" ) ? elem.type : "";
+ type = jQuery.nodeName( elem, "input" ) || jQuery.nodeName( elem, "button" ) ? elem.type : "";
if ( (type === "submit" || type === "image") && jQuery( elem ).closest("form").length ) {
trigger( "submit", this, arguments );
@@ -712,7 +713,7 @@ if ( !jQuery.support.submitBubbles ) {
jQuery.event.add(this, "keypress.specialSubmit", function( e ) {
var elem = e.target,
- type = jQuery.nodeName( elem, "input" ) ? elem.type : "";
+ type = jQuery.nodeName( elem, "input" ) || jQuery.nodeName( elem, "button" ) ? elem.type : "";
if ( (type === "text" || type === "password") && jQuery( elem ).closest("form").length && e.keyCode === 13 ) {
trigger( "submit", this, arguments );
View
6 test/unit/event.js
@@ -1633,7 +1633,7 @@ test("live with change", function(){
});
test("live with submit", function() {
- expect(5);
+ expect(7);
var count1 = 0, count2 = 0;
@@ -1659,6 +1659,10 @@ test("live with submit", function() {
equals( count1, 2, "Verify form submit." );
equals( count2, 2, "Verify body submit." );
+ jQuery("#testForm button[name=sub4]")[0].click();
+ equals( count1, 3, "Verify form submit." );
+ equals( count2, 3, "Verify body submit." );
+
jQuery("#testForm").die("submit");
jQuery("#testForm input[name=sub1]").die("click");
jQuery("body").die("submit");
Please sign in to comment.
Something went wrong with that request. Please try again.