[
https://issues.apache.org/jira/browse/WICKET-1787?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12624356#action_12624356
]
Asgaut Mjølne commented on WICKET-1787:
---------------------------------------
Checked the 1.3.4 code, the problem still remains.
I debugged through the method:
public String getMarkupId(boolean createIfDoesNotExist) in the class
Component.java
...and found the bug. When Wicket executes this piece of code:
String markupIdPostfix = Integer.toHexString(generatedMarkupId).toLowerCase();
You will get "d" returned when 13 is the generatedMarkupId number. The method
will then finally return "id" as the markupId!
10 will return "a", 11 will return "b", 12 will return "c" and so on.
Why do you hex the numbers?
And how can we get around this? We are going into production with our web
application and need a fix/workaround as soon as possible.
> AjaxSubmitLink in Internet Explorer does not work with Wicket's automatically
> genreated id's
> --------------------------------------------------------------------------------------------
>
> Key: WICKET-1787
> URL: https://issues.apache.org/jira/browse/WICKET-1787
> Project: Wicket
> Issue Type: Bug
> Reporter: Asgaut Mjølne
> Assignee: Igor Vaynberg
>
> When using AjaxSubmitLink, and the markupid for a wicket element is not
> explicitly set, AjaxSubmitLink will not work with internet explorer. When
> clicking on your AjaxSubmitLink while running Internet Explorer, nothing will
> happen.
> Here is an example:
> html file:
> <img wicket:id="img_unlock" >
> java file:
> ContextImage unlockImage = new ContextImage("img_unlock", new
> Model("pathtoimage/unlockedgray.png"));
> Since the id attribute is not set, wicket will now generate the output id
> id="id". For some reason AjaxSubmitLink in Internet Explorer does not
> understand this (Firefox does). Here is the HTML output:
> <img class="ajaximg" src="../pathtoimage/unlockedgray.png" onClick="var
> wcall=wicketSubmitFormById('i3',
> '../?wicket:interface=:2:new_loancase:application_form:header:img_unlock::IActivePageBehaviorListener:0:1&wicket:ignoreIfNotActive=true',
> null,null,null, function() {return
> Wicket.$$(this)&&Wicket.$$('i3')}.bind(this));;"
> id="id">
> The solution is to explicit add the markupid, like this:
> unlockImage.setOutputMarkupId(true);
> unlockImage.setMarkupId("mynewdistinctid");
> Would it not be better if wicket automatically generated another name for the
> id attribute than "id"? Can this be done? Or is there a workaround I am not
> aware of?
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.