Hi I have fixed the problem by adding setOutputMarkupPlaceholderTag(true);
to the top component.

Thanks

David


On 2 April 2014 18:55, David Beer <david.m.b...@gmail.com> wrote:

> Hi
>
> I am able to remove the panel by accessing the top most component (form)
> and setting visible to false. This removes the panel from the page, however
> I am having difficulty adding the panel back to the page. I get and Ajax
> error saying component id can't be found.
>
> The source is availble here
> https://github.com/dmbeer/wicket-bootstrap-example/tree/master/src/main/java/exampleUserAccountPage
>  and the Panel's there.
>
> The Wicket Ajax Debug Content is as follows;
>
> *INFO: *Received ajax response (1570 characters)
> *INFO: *
>
> <?xml version="1.0" encoding="UTF-8"?><ajax-response><component id="form1c" 
> ><![CDATA[]]></component><component id="link_dsiable_password17" ><![CDATA[<a 
> id="link_dsiable_password17" href="javascript:;" class="btn-link  btn">
>             Enable Password Panel
>
>         </a>]]></component><header-contribution encoding="wicket1" 
> ><![CDATA[<head xmlns:wicket="
> http://wicket.apache.org";><link rel="stylesheet" type="text/css" href="//
> netdna.bootstrapcdn.com/bootswatch/3.1.1/spacelab/bootstrap.min.css" />
> <script type="text/javascript" src="
> http://code.jquery.com/jquery-1.11.0.min.js";></script>
>
> <script type="text/javascript" 
> src="./wicket/resource/org.apache.wicket.ajax.AbstractDefaultAjaxBehavior/res/js/wicket-event-jquery-ver-1392391424000.js"></script>
>
> <script type="text/javascript" 
> src="./wicket/resource/org.apache.wicket.ajax.AbstractDefaultAjaxBehavior/res/js/wicket-ajax-jquery-ver-1392391424000.js"></script>
>
> <script type="text/javascript" 
> src="./wicket/resource/org.apache.wicket.ajax.AbstractDefaultAjaxBehavior/res/js/wicket-ajax-jquery-debug-ver-1392391424000.js"></script>
> <script type="text/javascript" id="wicket-ajax-debug-enable">
> /*<![CDATA[*/
> Wicket.Ajax.DebugWindow.enabled=true;
> /*]^]^>*/
> </script>
> <script type="text/javascript" id="wicket-ajax-base-url">
> /*<![CDATA[*/
> Wicket.Ajax.baseUrl="account?1";
> /*]^]^>*/
> </script>
>
> </head>]]></header-contribution><evaluate><![CDATA[(function(){Wicket.Ajax.ajax({"u":"./account?1-1.IBehaviorListener.0-link~dsiable~password","e":"click","c":"link_dsiable_password17"});})();]]></evaluate></ajax-response>
>  *INFO: *Response processed successfully.
> *INFO: *refocus last focused component not needed/allowed
> *INFO: *Received ajax response (2916 characters)
> *INFO: *
>
> <?xml version="1.0" encoding="UTF-8"?><ajax-response><component id="form1c" 
> ><![CDATA[<form id="form1c" method="post" 
> action="./account?1-1.IFormSubmitListener-change~password-form" 
> class="form-horizontal"><div 
> style="width:0px;height:0px;position:absolute;left:-100px;top:-100px;overflow:hidden"><input
>  type="hidden" name="form1c_hf_0" id="form1c_hf_0" /></div>
>             <div class=" form-group">
>             <label class="control-label" for="password14">Password</label>
>
>
>
>                 <input type="password" value="" 
> name="formGroupPassword:formGroupPassword_body:password" id="password14"/>
>
>
>
>
>         </div>
>             <div class=" form-group">
>
>             <label class="control-label" for="confirmPassword15">Confirm 
> Password</label>
>
>
>
>                 <input type="password" value="" 
> name="formGroupConfirmPassword:formGroupConfirmPassword_body:confirmPassword" 
> id="confirmPassword15"/>
>
>
>
>
>         </div>
>             <div class=" form-group">
>
>
>
>                 <div class="col-md-offset-2 col-md-10">
>
>                     <button type="submit" class=" btn-default btn btn-default 
> btn" name="formGroupButton:formGroupButton_body:submit-button" 
> id="submit_button16">
>             Submit
>         </button>
>                 </div>
>
>
>
>
>         </div>
>
>         </form>]]></component><component id="link_dsiable_password17" 
> ><![CDATA[<a id="link_dsiable_password17" href="javascript:;" class="btn-link 
>  btn">
>             Disable Password Change
>
>         </a>]]></component><header-contribution encoding="wicket1" 
> ><![CDATA[<head xmlns:wicket="
> http://wicket.apache.org";><link rel="stylesheet" type="text/css" href="//
> netdna.bootstrapcdn.com/bootswatch/3.1.1/spacelab/bootstrap.min.css" />
> <script type="text/javascript" src="
> http://code.jquery.com/jquery-1.11.0.min.js";></script>
>
> <script type="text/javascript" 
> src="./wicket/resource/org.apache.wicket.ajax.AbstractDefaultAjaxBehavior/res/js/wicket-event-jquery-ver-1392391424000.js"></script>
>
> <script type="text/javascript" 
> src="./wicket/resource/org.apache.wicket.ajax.AbstractDefaultAjaxBehavior/res/js/wicket-ajax-jquery-ver-1392391424000.js"></script>
>
> <script type="text/javascript" 
> src="./wicket/resource/org.apache.wicket.ajax.AbstractDefaultAjaxBehavior/res/js/wicket-ajax-jquery-debug-ver-1392391424000.js"></script>
> <script type="text/javascript" id="wicket-ajax-debug-enable">
> /*<![CDATA[*/
> Wicket.Ajax.DebugWindow.enabled=true;
> /*]^]^>*/
> </script>
> <script type="text/javascript" id="wicket-ajax-base-url">
> /*<![CDATA[*/
> Wicket.Ajax.baseUrl="account?1";
> /*]^]^>*/
> </script>
>
> </head>]]></header-contribution><evaluate><![CDATA[(function(){Wicket.Ajax.ajax({"u":"./account?1-1.IBehaviorListener.0-link~dsiable~password","e":"click","c":"link_dsiable_password17"});})();]]></evaluate></ajax-response>
>  *ERROR: *
> Wicket.Ajax.Call.processComponent: Component with id [[form1c]] was not found 
> while trying to perform markup update. Make sure you called 
> component.setOutputMarkupId(true) on the component whose markup you are 
> trying to update.
>  *INFO: *Response processed successfully.
> *INFO: *refocus last focused component not needed/allowed
>
> How can I re-enable the component.
>
> Thanks
>
> David
>
>
>
>
> On 1 April 2014 12:37, David Beer <david.m.b...@gmail.com> wrote:
>
>> Hi Martin
>>
>> Thanks for your information here. So if I had a page which extends from a
>> base page and adds the header footer, then added the content which is
>> basically two column, in order to use a menu on the left to change some of
>> the content on the right I could use a combination of Ajax to swap the
>> content.
>>
>> Thanks
>>
>> David
>>
>>
>>
>> On 1 April 2014 08:04, Martin Grigorov <mgrigo...@apache.org> wrote:
>>
>>> Hi,
>>>
>>>
>>> On Mon, Mar 31, 2014 at 1:53 PM, David Beer <david.m.b...@gmail.com>
>>> wrote:
>>>
>>> > Hi All
>>> >
>>> > I am in the process of building a user account page, which will have a
>>> menu
>>> > on the left, and the related content on the right.
>>> >
>>> > I would like the content on the right to be swapped depending on the
>>> > selection on the left. As in the content on the right might well be
>>> > generated by panels or fragments and then added to the page and the
>>> > previous unrelated removed.
>>> >
>>> > Is it better to have all the code added to the html and then hide
>>> certain
>>> > components and then re-enable them on selection and disable them or is
>>> it
>>> > better to use a panels and a page hierarchy and to pass information
>>> between
>>> > panels and parent page.
>>> >
>>>
>>> In my experience I have preferred the second approach - a mix of pages
>>> and
>>> panels.
>>> If you want to replace the right part with Ajax then you need to replace
>>> panels.
>>> If Ajax is not required then you can show a sub page that inherits the
>>> base
>>> layout from a main page and has something custom in the right part.
>>>
>>>
>>> >
>>> > Any thoughts and examples are always appreciated.
>>> >
>>> > Thanks
>>> >
>>> > David
>>> >
>>>
>>
>>
>

Reply via email to