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)