Yes. Looks like this is the only non-JS way to go (still searching). Simple but ugly.
Regards, Stephan Am 11.11.2009 um 21:53 schrieb Igor Vaynberg: > you should do something like this > > [form1][select/][submit button/][/form1] > [form2][form components panel/][/form2] > > user presses the submit button in form 1, in form 1's onsubmit you > swap the form components panel based on the selection. > > simple. > > -igor > > On Wed, Nov 11, 2009 at 12:50 PM, srm <s...@schokokeks.org> wrote: >> Ah! Stupid me! >> I've read that it is working with JS and I didn't make sure to disable JS for >> my local host. >> Aaaaargh. >> >> So it's not solved. Need to find a way around then. >> >> Thanks for the pointer. >> >> Regards, >> Stephan >> >> Am 11.11.2009 um 21:44 schrieb Martijn Dashorst: >> >>> How do you think wantOnSelectionChangedNotification() works? With or >>> without JS? >>> >>> Martijn >>> >>> On Wed, Nov 11, 2009 at 9:39 PM, srm <s...@schokokeks.org> wrote: >>>> SOLVED! >>>> w/o JS/AJAX >>>> >>>> I created a factory to produce the corresponding Panel(including the form) >>>> and I use a call to replaceWith() in onSelectionChanged(): >>>> >>>> [code] >>>> @Override >>>> protected void onSelectionChanged(final Object newSelection) { >>>> Panel newPanel = AddItemPanel.getAddItemPanel(selected, >>>> "addArticlePanel"); //the factory call >>>> addArticlePanel.replaceWith(newPanel); >>>> addArticlePanel = newPanel; >>>> } >>>> >>>> Thanks to martin-g @ #wicket. >>>> >>>> Regards, >>>> Stephan >>>> >>>> Am 11.11.2009 um 16:18 schrieb srm: >>>> >>>>> Am 11.11.2009 um 15:59 schrieb Ernesto Reinaldo Barreiro: >>>>> >>>>>> If you reload the page when selecting the element, instead of using >>>>>> AJAX, I >>>>>> guess the same will work because you have a selected article... I think >>>>>> AJAX >>>>>> is just a detail here, maybe you can use >>>>>> >>>>>> protected boolean wantOnSelectionChangedNotifications() >>>>>> { >>>>>> return false; >>>>>> } >>>>>> >>>>>> on DropDownChoice? >>>>>> >>>>> >>>>> >>>>> From my understanding, I need wantOnSelectionChangedNotifications() >>>>> returning TRUE, otherwise onSelectionChanged() is never triggered. >>>>> My current approach as follows. That's working but it doesn't feel right. >>>>> To clumsy. Any ideas? (and I beg your pardon for mixing german >>>>> with english in the code ;) ) >>>>> >>>>> package view; >>>>> >>>>> ..some imports... >>>>> public class AddArticlePage extends StorePage { >>>>> >>>>> private AddArticlePanel addArticlePanel; >>>>> >>>>> @SuppressWarnings("unchecked") >>>>> public AddArticlePage() { >>>>> addArticlePanel = new AddArticlePanel("addArticlePanel"); >>>>> addArticlePanel.setVisible(false); >>>>> DropDownChoice dropDownType = new DropDownChoice("dropDownType", >>>>> new PropertyModel(this, "selected"), Artikel.TYPELIST) { >>>>> protected boolean wantOnSelectionChangedNotifications() { >>>>> return true; >>>>> } >>>>> @Override >>>>> protected void onSelectionChanged(final Object newSelection) { >>>>> System.out.println("SELECTION CHANGED!"); >>>>> System.out.println("new Selection = " + (String) newSelection); >>>>> addArticlePanel.setVisibleFields((String) newSelection); >>>>> addArticlePanel.setVisible(true); >>>>> } >>>>> }; >>>>> >>>>> Form formAdd = new Form("addArticleForm") { >>>>> @Override >>>>> protected void onSubmit() { >>>>> System.out.println("Added Article..."); >>>>> } >>>>> }; >>>>> >>>>> add(dropDownType); >>>>> add(addArticlePanel); >>>>> add(formAdd); >>>>> >>>>> } >>>>> } >>>>> >>>>> >>>>> /***** THE PANEL CLASS ******/ >>>>> public class AddArticlePanel extends Panel { >>>>> >>>>> private TextField artikelNummer; >>>>> private TextField preis; >>>>> private TextField erscheinungsJahr; >>>>> private TextField beschreibung; >>>>> private TextField titel; >>>>> >>>>> //fields for BOOK >>>>> private TextField isbn; >>>>> private TextField autor; >>>>> private TextField verlag; >>>>> >>>>> //fields for CD >>>>> private TextField label; >>>>> private TextField artist; >>>>> >>>>> public AddArticlePanel(String id) { >>>>> super(id); >>>>> >>>>> artikelNummer = new TextField("artikelNummer", new Model()); >>>>> preis = new TextField("preis", new Model()); >>>>> erscheinungsJahr = new TextField("erscheinungsJahr", new Model()); >>>>> beschreibung = new TextField("beschreibung", new Model()); >>>>> titel = new TextField("titel", new Model()); >>>>> isbn = new TextField("isbn", new Model()); >>>>> autor = new TextField("autor", new Model()); >>>>> verlag = new TextField("verlag", new Model()); >>>>> label = new TextField("label", new Model()); >>>>> artist = new TextField("artist", new Model()); >>>>> add(artikelNummer); >>>>> add(preis); >>>>> add(erscheinungsJahr); >>>>> add(beschreibung); >>>>> add(titel); >>>>> add(isbn); >>>>> add(autor); >>>>> add(verlag); >>>>> add(label); >>>>> add(artist); >>>>> >>>>> // THIS WHOLE THING WOULD HAVE TO BE DONE FOR EACH ITEM AGAIN TO >>>>> // DISPLAY A LABEL IN FRONT OF EACH TEXTFIELD, HOLDING A DESCRIPTION >>>>> // SOUNDS AWFULL! >>>>> >>>>> } >>>>> >>>>> //could probably be optimised >>>>> public void setVisibleFields(String type) { >>>>> if (type.equals("BOOK")) { >>>>> isbn.setVisible(true); >>>>> autor.setVisible(true); >>>>> verlag.setVisible(true); >>>>> >>>>> label.setVisible(false); >>>>> artist.setVisible(false); >>>>> } >>>>> else { >>>>> isbn.setVisible(false); >>>>> autor.setVisible(false); >>>>> verlag.setVisible(false); >>>>> >>>>> label.setVisible(true); >>>>> artist.setVisible(true); >>>>> } >>>>> } >>>>> >>>>> >>>>> } >>>>> >>>>> Comments please :) >>>>> >>>>> >>>>>> Best, >>>>>> >>>>>> Ernesto >>>>>> >>>>>> On Wed, Nov 11, 2009 at 3:45 PM, srm <s...@schokokeks.org> wrote: >>>>>> >>>>>>> >>>>>>> Am 11.11.2009 um 15:25 schrieb Ernesto Reinaldo Barreiro: >>>>>>> >>>>>>>> I have used something similar to >>>>>>> [snip] >>>>>>> [snap] >>>>>>>> >>>>>>>> for such situations... I delegate creation to a factory class (so that >>>>>>> new >>>>>>>> products can be plugged in). >>>>>>>> >>>>>>>> Best, >>>>>>>> >>>>>>>> Ernesto >>>>>>>> >>>>>>> >>>>>>> >>>>>>> Thank you for this example. >>>>>>> But I'm bound to not use Ajax/JavaScript...and now I'm stuck. >>>>>>> >>>>>>> Regards, >>>>>>> Stephan >>>>>>> >>>>>>> >>>>>>> >>>>>>>> On Wed, Nov 11, 2009 at 2:53 PM, srm <s...@schokokeks.org> wrote: >>>>>>>> >>>>>>>>> How would you approach the following: >>>>>>>>> PageA is used to insert an article. At first, the user chooses what >>>>>>>>> kind >>>>>>> of >>>>>>>>> article to insert (DropDownChoice). >>>>>>>>> When the User made his choice, a coresponding form should be >>>>>>> loaded/visible >>>>>>>>> underneath the >>>>>>>>> DropDownChoice. That's all to be solved without JavaScript. >>>>>>>>> My current idea is currently to add an Panel (AddArticlePanel) which >>>>>>> holds >>>>>>>>> all fields for any kind of article >>>>>>>>> and make them visible depending on what the user has chosen (using >>>>>>>>> onSelectionChanged). >>>>>>>>> But that seems like a brute approach so I wanted to get your opinions >>>>>>>>> on >>>>>>>>> this. >>>>>>>>> >>>>>>>>> Further information will be happily provided. >>>>>>>>> >>>>>>>>> Regards, >>>>>>>>> Stephan >>>>>>>>> --------------------------------------------------------------------- >>>>>>>>> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org >>>>>>>>> For additional commands, e-mail: users-h...@wicket.apache.org >>>>>>>>> >>>>>>>>> >>>>>>> >>>>>>> >>>>>>> --------------------------------------------------------------------- >>>>>>> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org >>>>>>> For additional commands, e-mail: users-h...@wicket.apache.org >>>>>>> >>>>>>> >>>>> >>>>> >>>>> --------------------------------------------------------------------- >>>>> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org >>>>> For additional commands, e-mail: users-h...@wicket.apache.org >>>>> >>>> >>>> >>>> --------------------------------------------------------------------- >>>> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org >>>> For additional commands, e-mail: users-h...@wicket.apache.org >>>> >>>> >>> >>> >>> >>> -- >>> Become a Wicket expert, learn from the best: http://wicketinaction.com >>> Apache Wicket 1.4 increases type safety for web applications >>> Get it now: http://www.apache.org/dyn/closer.cgi/wicket/1.4.0 >>> >>> --------------------------------------------------------------------- >>> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org >>> For additional commands, e-mail: users-h...@wicket.apache.org >>> >> >> >> --------------------------------------------------------------------- >> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org >> For additional commands, e-mail: users-h...@wicket.apache.org >> >> > > --------------------------------------------------------------------- > To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org > For additional commands, e-mail: users-h...@wicket.apache.org > --------------------------------------------------------------------- To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org