Thanks a lot, I´ll go for the visibility-toggle in this case. */
On 10/21/07, Martin Funk <[EMAIL PROTECTED]> wrote: > You are not doing anything really wrong, > > its not Component.replaceWith that is complaining but the renderer. > > Embedding the Form in a Panel is a reasonable solution, alternatively > you could add both components and toggle their visibility. > > Martin > > jar ade schrieb: > > Hi all, > > > > I´m trying to replace a Panel with a Form when the user clicks a link like > > so > > > > public void onClick() { > > getPage().get("content").replaceWith(new > > LoginForm("content", new User())); > > } > > > > The old content is a component extending Panel, and the new a > > component LoginForm extending Form. I end up with a Runtimeexception > > with the message > > > > WicketMessage: Component content must be applied to a tag of type > > 'form', not '<div id="content5" wicket:id="content"/>' > > > > > > upon clicking the link. A solution would be to make the LoginForm a > > Panel and add a Form to it using > > > > add(new Form()) in which case the replacement works. One panel replaces > > another. > > > > This usage of Form however, would be at odds with the wicket > > documentation ("Using Forms: Subclass wicket.markup.html.form.Form"). > > Also, the javadoc entry for Component.replaceWith() says that only the > > id of the replacing component must be identical (not the type as long > > as it is a Component, right?). What am I doing wrong here? > > > > HTML is below > > > > ---------------------------------------------------- > > in Page > > > > <div id="content" wicket:id="content" /> > > ---------------------------------------------------- > > in old "content" Panel > > > > <wicket:panel> > > <div> > > static text > > </div> > > </wicket:panel> > > ---------------------------------------------------- > > in replacing form > > > > <form wicket:id="loginform" class="searchsubmit"> > > <table> > > <tr> > > <td><span wicket:id="usernamelabel" > > wicket:message="value:loginform.usernamelabel"/></td> > > <td><input wicket:id="username" > > id="searchinput"/></td> > > </tr> > > <tr> > > <td><span wicket:id="passwordlabel" > > wicket:message="value:loginform.passwordlabel"/></td> > > <td><input wicket:id="password" type="password" > > id="searchinput" /></td> > > </tr> > > <tr> > > <td colspan="2"> > > <input wicket:id="loginbutton" type="submit" > > id="searchsubmit" /> > > </td> > > </tr> > > </table> > > </form> > > ---------------------------------------------------- > > Any help is appreciated > > */jakob > > > > --------------------------------------------------------------------- > > To unsubscribe, e-mail: [EMAIL PROTECTED] > > For additional commands, e-mail: [EMAIL PROTECTED] > > > > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]