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 );
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 );
});
test("live with submit", function() {
- expect(5);
+ expect(7);
var count1 = 0, count2 = 0;
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");