Hi,

it really was problem with AjaxSubmitButton, can you please test if it 
works now for you?

-Matej

ChuckDeal wrote:
> I don't mean to bump this, but was not quickstart not good enough to show the
> problem?  If necessary, I can take another stab at it to make it more
> useful.
> 
> Chuck
> 
> 
> ChuckDeal wrote:
>> Here is a test case the shows the problem.  I have two identical pages. 
>> The only difference is that one page has the submit button contained by
>> the form in the second page it is outside of the Form.
>>
>>  http://www.nabble.com/file/5295/quickstart-ajaxbutton.zip
>> quickstart-ajaxbutton.zip  (this contains everything except for the lib
>> folder and uses 1.3-incubating-SNAPSHOT)
>>
>>
>> ChuckDeal wrote:
>>> The AjaxSubmitButton specifically says that it does NOT have to be
>>> attached to a form; from the javadoc
>>>
>>>  * A button that submits the form via ajax. Since this button takes the
>>> form as
>>>  * a constructor argument it does not need to be added to it unlike the
>>>  * [EMAIL PROTECTED] Button} component.
>>>
>>> However, in practice, this is not the case.  I believe it is associated
>>> with the change (1.2-SNAPSHOT -> 1.3-SNAPSHOT) to extend from Button.  
>>>
>>> What goes wrong?  The exception says something to the effect of "Could
>>> not find Form parent for [the button component]" (see the full stacktrace
>>> in my original message way down below); when debugging, it calls the
>>> getForm() method of my button which instead of returning the Form that
>>> was supplied to the Constructor, calls findParent()
>>>
>>> As for the test case, I'll see if I can put something together.
>>>
>>> Chuck
>>>
>>>
>>> Johan Compagner wrote:
>>>> a button should be in a form (one of its parents)
>>>> or a button should get the form through its constructor.
>>>>
>>>> So what goes wrong exactly?
>>>> Can you have a small test case?
>>>>
>>>> johan
>>>>
>>>>
>>>> On 12/18/06, ChuckDeal <[EMAIL PROTECTED]> wrote:
>>>>>
>>>>> It gets there fine, its this line:
>>>>>
>>>>> if (submit.getForm() == Form.this
>>>>>
>>>>> that is the problem.  submit (which is the button) does not belong to a
>>>>> Form, it is supposed to contain a reference to a Form instead.  SInce
>>>>> it
>>>>> can't find a Form object for the button it throws an  exception
>>>>>
>>>>> throw new WicketRuntimeException("Could not find Form parent for " +
>>>>> this);
>>>>>
>>>>> Thus killing the execution.
>>>>>
>>>>> To Igor:
>>>>> It didn't make a difference when I renamed (wicket:id) the button from
>>>>> "submit" to "submitButton".
>>>>>
>>>>> Chuck
>>>>>
>>>>>
>>>>> Johan Compagner wrote:
>>>>>> It should work AjaxSubmitButton is a IFormSubmittingComponent
>>>>> component
>>>>> so
>>>>>> this code:
>>>>>>
>>>>>>         IFormSubmittingComponent submit =
>>>>>> (IFormSubmittingComponent)getPage().visitChildren(
>>>>>>                 IFormSubmittingComponent.class, new IVisitor()
>>>>>>                 {
>>>>>>                     public Object component(final Component
>>>>> component)
>>>>>>                     {
>>>>>>                         // Get button
>>>>>>                         final IFormSubmittingComponent submit =
>>>>>> (IFormSubmittingComponent)component;
>>>>>>
>>>>>>                         // Check for button-name or
>>>>> button-name.xrequest
>>>>>> string
>>>>>>                         if (submit.getForm() == Form.this
>>>>>>                                 && (getRequest().getParameter(
>>>>>> submit.getInputName()) != null || getRequest()
>>>>>>
>>>>>> .getParameter(submit.getInputName()
>>>>>> + ".x") != null))
>>>>>>
>>>>>> should find the ajax button no matter if it is in the page or not
>>>>>> (this is 1.3 code but as far as i know this isn't really changed)
>>>>>>
>>>>>> Frank are you reading with us? I believe you worked on this.
>>>>>>
>>>>>> johan
>>>>>>
>>>>>>
>>>>>> On 12/13/06, ChuckDeal <[EMAIL PROTECTED]> wrote:
>>>>>>>
>>>>>>> I have a Page that has a Form with some select boxes in it and,
>>>>> outside
>>>>>>> the
>>>>>>> Form, I have three buttons (submit[AjaxSubmitButton],
>>>>> reset[AjaxLink],
>>>>>>> cancel[AjaxLink]).
>>>>>>>
>>>>>>> In Wicket 1.2.3  (Actually, I have been using the latest
>>>>> 1.2-SNAPSHOT
>>>>>>> releases) The submit button works as advertised and submits the
>>>>> page.
>>>>>>> In 1.3-incubating-SNAPSHOT (latest as of 13DEC2006 7am EST), the
>>>>> page
>>>>>>> fails
>>>>>>> with the following exception:
>>>>>>>
>>>>>>> wicket.WicketRuntimeException: Could not find Form parent for
>>>>>>> [MarkupContainer [Component id = submit, page =
>>>>>>> com.csc.aims.issuetracker.wicket.TestSelectionPage, path =
>>>>>>> 0:submit.TestSelectionPage$7, isVisible = true, isVersioned =
>>>>> false]]
>>>>>>>         at wicket.markup.html.form.FormComponent.getForm(
>>>>>>> FormComponent.java:409)
>>>>>>>         at wicket.markup.html.form.Form$5.component(Form.java:633)
>>>>>>>         at wicket.MarkupContainer.visitChildren(MarkupContainer.java
>>>>> :749)
>>>>>>>         at
>>>>> wicket.markup.html.form.Form.findSubmittingButton(Form.java
>>>>>>> :624)
>>>>>>>         at
>>>>> wicket.markup.html.form.Form.onFormSubmitted(Form.java:333)
>>>>>>>         at
>>>>>>> wicket.ajax.form.AjaxFormSubmitBehavior.onEvent(
>>>>>>> AjaxFormSubmitBehavior.java:87)
>>>>>>>         at
>>>>> wicket.ajax.AjaxEventBehavior.respond(AjaxEventBehavior.java
>>>>>>> :165)
>>>>>>>         at
>>>>>>> wicket.ajax.AbstractDefaultAjaxBehavior.onRequest(
>>>>>>> AbstractDefaultAjaxBehavior.java:225)
>>>>>>>         at
>>>>>>>
>>>>>>>
>>>>> wicket.request.target.component.listener.BehaviorRequestTarget.processEvents
>>>>>>> (BehaviorRequestTarget.java:98)
>>>>>>>         at
>>>>>>> wicket.request.compound.DefaultEventProcessorStrategy.processEvents(
>>>>>>> DefaultEventProcessorStrategy.java:64)
>>>>>>>         at
>>>>>>>
>>>>>>>
>>>>> wicket.request.compound.AbstractCompoundRequestCycleProcessor.processEvents
>>>>>>> (AbstractCompoundRequestCycleProcessor.java:56)
>>>>>>>         at
>>>>>>> wicket.RequestCycle.doProcessEventsAndRespond(RequestCycle.java
>>>>>>> :912)
>>>>>>>         at wicket.RequestCycle.processEventsAndRespond(
>>>>> RequestCycle.java
>>>>>>> :950)
>>>>>>>         at wicket.RequestCycle.step(RequestCycle.java:1026)
>>>>>>>         at wicket.RequestCycle.steps(RequestCycle.java:1100)
>>>>>>>         at wicket.RequestCycle.request(RequestCycle.java:454)
>>>>>>>         at wicket.protocol.http.WicketFilter.doGet(WicketFilter.java
>>>>> :243)
>>>>>>>         at
>>>>> wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java
>>>>>>> :122)
>>>>>>>
>>>>>>> After consulting the Migration Wiki Page
>>>>>>> (http://cwiki.apache.org/WICKET/migrate-13.html) it shows that both
>>>>>>> AjaxSubmitButton and AjaxSubmitLink have changed to extend Button.
>>>>>>> (Actually, I checked AjaxSubmitLink and it does NOT extend
>>>>>>> button...).  But
>>>>>>> according to the javadoc for AjaxSubmitButton, since you pass a form
>>>>> to
>>>>>>> the
>>>>>>> constructor, you don't need to add the component to a Form object. 
>>>>> In
>>>>>>> practice this was not true.  Once I added the button to the form, it
>>>>>>> worked
>>>>>>> as advertised.
>>>>>>>
>>>>>>> I'm guessing the change was necessary as a result of the hierarchy
>>>>> change
>>>>>>> of
>>>>>>> AjaxSubmitButton, but maybe the Form arg is no longer needed since
>>>>> you
>>>>>>> must
>>>>>>> add it to the Form object?
>>>>>>>
>>>>>>> Chuck
>>>>>>> --
>>>>>>> View this message in context:
>>>>>>>
>>>>> http://www.nabble.com/AjaxSubmitButton-and-not-adding-it-to-a-Form-tf2815470.html#a7857386
>>>>>>> Sent from the Wicket - User mailing list archive at Nabble.com.
>>>>>>>
>>>>>>>
>>>>>>>
>>>>> -------------------------------------------------------------------------
>>>>>>> Take Surveys. Earn Cash. Influence the Future of IT
>>>>>>> Join SourceForge.net's Techsay panel and you'll get the chance to
>>>>> share
>>>>>>> your
>>>>>>> opinions on IT & business topics through brief surveys - and earn
>>>>> cash
>>>>> http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
>>>>>>> _______________________________________________
>>>>>>> Wicket-user mailing list
>>>>>>> Wicket-user@lists.sourceforge.net
>>>>>>> https://lists.sourceforge.net/lists/listinfo/wicket-user
>>>>>>>
>>>>>>
>>>>> -------------------------------------------------------------------------
>>>>>> Take Surveys. Earn Cash. Influence the Future of IT
>>>>>> Join SourceForge.net's Techsay panel and you'll get the chance to
>>>>> share
>>>>>> your
>>>>>> opinions on IT & business topics through brief surveys - and earn
>>>>> cash
>>>>> http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
>>>>>> _______________________________________________
>>>>>> Wicket-user mailing list
>>>>>> Wicket-user@lists.sourceforge.net
>>>>>> https://lists.sourceforge.net/lists/listinfo/wicket-user
>>>>>>
>>>>>>
>>>>> --
>>>>> View this message in context:
>>>>> http://www.nabble.com/AjaxSubmitButton-and-not-adding-it-to-a-Form-tf2815470.html#a7930588
>>>>> Sent from the Wicket - User mailing list archive at Nabble.com.
>>>>>
>>>>>
>>>>> -------------------------------------------------------------------------
>>>>> Take Surveys. Earn Cash. Influence the Future of IT
>>>>> Join SourceForge.net's Techsay panel and you'll get the chance to share
>>>>> your
>>>>> opinions on IT & business topics through brief surveys - and earn cash
>>>>> http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
>>>>> _______________________________________________
>>>>> Wicket-user mailing list
>>>>> Wicket-user@lists.sourceforge.net
>>>>> https://lists.sourceforge.net/lists/listinfo/wicket-user
>>>>>
>>>> -------------------------------------------------------------------------
>>>> Take Surveys. Earn Cash. Influence the Future of IT
>>>> Join SourceForge.net's Techsay panel and you'll get the chance to share
>>>> your
>>>> opinions on IT & business topics through brief surveys - and earn cash
>>>> http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
>>>> _______________________________________________
>>>> Wicket-user mailing list
>>>> Wicket-user@lists.sourceforge.net
>>>> https://lists.sourceforge.net/lists/listinfo/wicket-user
>>>>
>>>>
>>>
> 


-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Wicket-user mailing list
Wicket-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wicket-user

Reply via email to