Skip to content
This repository

Prevent data-role="button" from double enhancing buttons or inputs #3141

Closed
toddparker opened this Issue November 22, 2011 · 11 comments

7 participants

Todd Parker Ghislain Seguin Kin Blas Maurice Gottlieb Gabriele Rabbiosi Patrick Lismore Anne-Gaelle Colom
Todd Parker

If you add data-role="button" to a button or input type=button/submit/etc. which is automatically enhanced, the script will add the button markup twice: wrapping the input and also injecting the button markup inside the input.

  <input data-role="button" type="submit" value="GO"/>

Even though this is incorrect markup, we should put in a check to see if there is duplication between the role and auto-init and not apply the markup enhancements twice in this scenario to make this fool-proof.

Kin Blas

This should be pretty easy and involve simply checking for the existence of a data object named "button" before executing the code in buttonMarkup().

Maurice Gottlieb

It seems, issue #3005 is related to this one. The duplicate button markup misses the ui-corner-styling for the last button in a controlgroup.

Gabriele Rabbiosi

@toddparker

Sorry, can you create a test page if the problem still exist? I'm not able to recreate the bug here... :(

Todd Parker

Ok, this is so odd, it seems to be working now. Looking at why:
http://jsbin.com/ukewu3/201

Lots of issues reported on this in the past:
#2875
#1000
#2379

Todd Parker

So any ideas why $("#mytest").button().button('disable'); would disable the button correctly but $("#mytest").button('disable'); doesn't disable the button?

Kin Blas

@toddparker

"disable" is actually a method on the button widget. This is basically a constructor (create) call for the widget:

$("#mytest").button();

while this is calling disable() on an existing button:

$("#mytest").button("disable");

You can't call the last example unless you've done the first one at some time before.

Todd Parker

@jblas - Thanks, that was what I was thinking, just needed some confirmation.

Garann Means garann referenced this issue from a commit in garann/jquery-mobile January 09, 2012
Garann Means fix for #3141 - redirect from button() and buttonMarkup() to correct …
…function for element
c0dbecc
Ghislain Seguin gseguin closed this in f0849af January 18, 2012
Ghislain Seguin gseguin referenced this issue from a commit January 18, 2012
Added test for issue #3141 b1c6c4c
Ghislain Seguin gseguin referenced this issue from a commit January 18, 2012
Added test for issue #3141 ba9d5a4
Patrick Lismore

Hi everyone, never commented on GitHub before ,

I am having this issue of the button double enhancing.

This is what I have. HTML below (GitHub does not show it)

I also tried with

I keep getting double submit buttons. Its the only thing holding me up at this stage of submitting my app to Apple.

Anne-Gaelle Colom
Collaborator

@lismore could you try to produce a jsbin with your example? template here: http://jsbin.com/amozef/1/edit
(see details about how to report an issue: https://github.com/jquery/jquery-mobile/blob/master/CONTRIBUTING.md)

Thank you

Patrick Lismore
Anne-Gaelle Colom
Collaborator

I'm glad you found the problem :-)
and you're very welcome....

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Something went wrong with that request. Please try again.