There's another method that you need to set true on construction - I can't remember the exact name now, but it's something like setTransparentPlaceholder or something. Basically it's because the feedback panel isn't visible on the first rendering because there's no messages. Therefore, it's not in the HTML. This puts an empty placeholder in it's place so that it can be added to ajax responses.
Jeremy Thomerson http://www.wickettraining.com -- sent from a wireless device -----Original Message----- From: novotny <[EMAIL PROTECTED]> Sent: Monday, December 08, 2008 7:43 PM To: [email protected] Subject: Component with id [[feedback]] a 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. Hi, I have a modal dialog (a stateless form) with a feedback panel. The code looks like: public final class SignInForm extends StatelessForm { private FeedbackPanel feedback; public SignInForm(final String id) { // sets a compound model on this form, every component without an // explicit model will use this model too super(id, new CompoundPropertyModel(new ValueMap())); feedback = new FeedbackPanel("feedback"); feedback.setOutputMarkupId(true); feedback.setMarkupId("feedback"); add(feedback); add(new AjaxButton("submit", this) { protected void onSubmit(AjaxRequestTarget target, Form<?> form) { ..... error(getLocalizer().getString("exception.login", this, "Illegal username password combo")); feedback.setOutputMarkupId(true); feedback.setMarkupId("feedback"); target.addComponent(feedback); } @Override protected void onError(AjaxRequestTarget target, Form<?> form) { // repaint the feedback panel so errors are shown super.onError(target, form); feedback.setOutputMarkupId(true); feedback.setMarkupId("feedback"); target.addComponent(feedback); } }); and my HTML looks like: <form id="signInForm" method="post" wicket:id="signInForm"> <div id="feedback" wicket:id="feedback" class="error"></div> <fieldset> <legend>Sign In to Your Account</legend> <ol> <li> <label>Username</label> <input type="text" id="username" wicket:id="username"/> </li> <li> <label>Password</label> <input type="password" id="password" wicket:id="password"/> </li> </ol> <button wicket:id="submit">Sign In</button> </fieldset> </form> but it never renders the feedback panel. I get: Component with id [[feedback]] a 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. in my "Wicket Ajax Debug" window... what can I be missing? Thanks, Jason -- View this message in context: http://www.nabble.com/Component-with-id---feedback---a-was-not-found-while-trying-to-perform-markup-update.-Make-sure-you-called-component.setOutputMarkupId%28true%29-on-the-component-whose-markup-you-are-trying-to-update.-tp20907226p20907226.html Sent from the Wicket - User mailing list archive at Nabble.com. --------------------------------------------------------------------- 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]
