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

Reply via email to