Uploaded image for project: 'Wicket'
  1. Wicket
  2. WICKET-1787

AjaxSubmitLink in Internet Explorer does not work with Wicket's automatically genreated id's

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • None
    • 1.3.5, 1.4-RC1
    • None
    • None

    Description

      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?

      Attachments

        Activity

          People

            ivaynberg Igor Vaynberg
            asgaut Asgaut Mjølne
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: