How about setOutputMarkupPlaceholderTag(true)? On Mon, Dec 8, 2008 at 9:20 PM, Jeremy Thomerson <[EMAIL PROTECTED]> wrote: > > 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] >
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
