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

Reply via email to