View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
1963 | Composr | core | public | 2015-06-09 20:35 | 2017-11-27 17:24 |
Reporter | Chris Graham | Assigned To | Salman | ||
Priority | normal | Severity | feature | ||
Status | resolved | Resolution | fixed | ||
Summary | 1963: Rewrite form submission as explicit rather than than using onsubmit, when JS enabled - and other changes | ||||
Description | Browsers are deprecating synchronous AJAX, which means we can no longer do form validation with server-side checks as a part of onsubmit handling. Instead we will have to make a click initiate checks then submit the form itself when done. That means major re-architecting. Additionally there other cases where we are using synchronous AJAX for safety reasons and we may need to implement JavaScript modality and progress spinners to handle this, as a safe alternative. | ||||
Tags | Type: Standards compliance | ||||
Attach Tags | |||||
Time estimation (hours) | 32 | ||||
Sponsorship open | |||||
related to | 2005 | Not Assigned | Guest | Web standards refresh |
related to | 3320 | Closed | Chris Graham | [Deprecation] Synchronous XMLHttpRequest |
|
Form submission is integrated with some synchronous AJAX checks, and with plUpload. It's very complicated messy code. plUpload will stall a form submission while files on the form upload, then it will automatically trigger re-submission. To trigger re-submission it must re-call form validation code (as form may have been changed since submit was clicked). Also the attachment code is extremely complicated. All needs to be reviewed. |
|
All synchronous AJAX and form validation code has been rewritten to be fully asynchronous, using ES6 Promises where appropriate. (Composr is now fully synchronous-free). I haven't implemented any additional progress spinners or modals. Please have a look and guide where we might need them now. For forms we currently disable the submit button once pressed, this is more than 99% of the web does really. BTW I am not a fan of the current dated code used for the <img> based progress spinners. We can have wholy CSS ones now, which can simply be triggered by adding a CSS class to the element being loaded. Tie that in with Promises and we can make it automatic, and not even have to deal with the hassle of adding/removing the class manually every time. P.S: You may also want to review the work log. |
Date Modified | Username | Field | Change |
---|---|---|---|
2016-12-08 12:17 | Chris Graham | Tag Attached: Type: Standards compliance | |
2017-04-28 14:18 | Chris Graham | Assigned To | => user4127 |
2017-04-28 14:18 | Chris Graham | Status | Not Assigned => Assigned |
2017-04-28 14:20 | Chris Graham | Note Added: 0005034 | |
2017-07-11 23:09 | Chris Graham | Relationship added | related to 3320 |
2017-08-11 04:54 | Salman | Note Added: 0005185 | |
2017-08-11 04:59 | Salman | Note Edited: 0005185 | |
2017-11-27 17:24 | Chris Graham | Status | Assigned => Resolved |
2017-11-27 17:24 | Chris Graham | Resolution | open => fixed |