You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by "Sven Meier (JIRA)" <ji...@apache.org> on 2014/05/19 17:11:38 UTC

[jira] [Updated] (WICKET-5594) AjaxButton #onSubmit() #onError() intricacies

     [ https://issues.apache.org/jira/browse/WICKET-5594?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Sven Meier updated WICKET-5594:
-------------------------------

    Description: 
Overriding AjaxButton's hook #onSubmit() is prone to possible programming errors:
- with JavaScript enabled, #onSubmit() will not be called, leaving the developer without clue that the wrong method was overwritten
- with JavaScript disabled, #onSubmit(ART, Form) will not be called - furthermore if the markup includes type="submit" or no type attribute, #onSubmit() will be called instead.

#onError() and #onError(ART, Form) have identical intricacies.

To make things consistent I propose the following change for Wicket 7.x:

- declare #onSubmit() and #onError() final on AjaxButton
- in #onComponentTag() make sure the <button>-Tag has type="button", so the browser does not submit the form when JavaScript is disabled. For fallack support we have AjaxFallbackButton already.

Any objections or better ideas?

  was:
When a developer overrides AjaxButton's #onSubmit() and #onError() (note no ART argument), these hooks will never be called.

Modifying these as final will prevent this possible programming error.

        Summary: AjaxButton #onSubmit() #onError() intricacies  (was: AjaxButton prevent override of #onSubmit() #onError())

> AjaxButton #onSubmit() #onError() intricacies
> ---------------------------------------------
>
>                 Key: WICKET-5594
>                 URL: https://issues.apache.org/jira/browse/WICKET-5594
>             Project: Wicket
>          Issue Type: Improvement
>          Components: wicket
>    Affects Versions: 7.0.0-M1
>            Reporter: Sven Meier
>            Assignee: Sven Meier
>            Priority: Trivial
>
> Overriding AjaxButton's hook #onSubmit() is prone to possible programming errors:
> - with JavaScript enabled, #onSubmit() will not be called, leaving the developer without clue that the wrong method was overwritten
> - with JavaScript disabled, #onSubmit(ART, Form) will not be called - furthermore if the markup includes type="submit" or no type attribute, #onSubmit() will be called instead.
> #onError() and #onError(ART, Form) have identical intricacies.
> To make things consistent I propose the following change for Wicket 7.x:
> - declare #onSubmit() and #onError() final on AjaxButton
> - in #onComponentTag() make sure the <button>-Tag has type="button", so the browser does not submit the form when JavaScript is disabled. For fallack support we have AjaxFallbackButton already.
> Any objections or better ideas?



--
This message was sent by Atlassian JIRA
(v6.2#6252)