I implemented a simple IComponentBorder, and anything I put in the
beforeRender gets added again every time I try to update the component
with AJAX.
My IcomponentBorder has:
public void renderBefore(Component component)
{
Response resp = component.getResponse();
resp.write("Label");
}
To update the input box using AJAX I have a behavior:
Input1.add(new AjaxFormComponentUpdatingBehavior("onchange")
{
protected void onUpdate(AjaxRequestTarget target)
{
theItem.name="new value";
target.addComponent(input2)
}
});
When I do target.addComponent(input2), the renderBefore adds "Label"
again, so the HTML looks like:
Label Label <input wicket:id="input2"/>
Am I using IComponentBorder wrong?
Thanks for any help!
-Clay
-----Original Message-----
From: Igor Vaynberg [mailto:[EMAIL PROTECTED]
Sent: Thursday, October 04, 2007 11:13 AM
To: [email protected]
Subject: Re: Adding a label when I add a FormComponent.
see icomponentborder
-igor
On 10/4/07, Clay Lehman <[EMAIL PROTECTED]> wrote:
>
> Hey Everyone,
>
>
>
> I want to create a subclass of a Form Component (Let's use TextField
for
> this example) which takes a String in the constructor, and
automatically
> adds the HTML for a Label before the field. I want to provide all the
> default functionality of a TextField (like adding behaviors, and
> validators), so I don't think a Panel will work for me.
>
>
>
>
>
> I found a post where it mentioned (as a hack)to override onRender to
add
> HTML for the label directly, but this runs into problems when you
> include the Component in an AJAX page (whenever you re-add the
> component, it calls onRender, and you add the HTML for the label
> multiple times.
>
>
>
> Is there a way to do this using SimpleFormComponentLabel, or some
other
> construct?
>
>
>
> Could I use FormComponentPanel? Or is there some configuration and
> functionality in AbstractTextCompnent and TextField which I would lose
> by using a FormComponentPanel?
>
>
>
> Thanks for any advice!!
>
> -Clay Lehman
>
>
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]