Details
-
Type: Bug
-
Status: Done/Fixed
-
Priority: Major
-
Resolution: Fixed/Completed
-
Affects Version/s: 4.2.8
-
Fix Version/s: 4.3.0
-
Component/s: None
-
Labels:
Description
Contribution pages (and other front facing civicrm pages) require javascript to function correctly. With javascript disabled (or broken), these pages behave unpredictably.
In our current case, the page silently fails, and submits the contribution as a 'pay later' despite having a credit card option selected; no explanation is given to the user.
Whilst the population of users who javascript disabled is low, they still need to be accounted for. Additionally, if there is a javascript error present on the page that stops further js execution, these pages will also be broken.
Two solutions to this:
1. Dependence on javascript is removed from these pages. The use of javascript adheres to principles of progressive enhancement so that the page is still functional without it.
2. The page is disabled without javascript, using <noscript> tags to explain to the user why and how to fix it, and using javascript to enable form elements such that without javascript, the form is entirely disabled.
Solution 1 follows best practice and is preferable, but option 2 may be more practical (in the meantime) given how reliant these forms currently are on js working.