I agree and have been thinking about ways around this. One solution is to add a class to js-enabled modals and target that class in a jquery selector to convert the links on the tabs (and the various submit buttons) to ajax calls that slide the next pane in. I like this approach as it follows good unobtrusive js practices: as paul points out, the app is still very usable for those without js.
Sounds good to me. One point though, do the tabs have to be populated with remote content? I wonder if we could pre-load all of the tab content and just hide content not on the active tab. In fact, we may *have* to do this, so it's all part of one form. Imagine for instance clicking on "Edit Project", filling in a new short description, then clicking over to Detailed Description and filling that in. When the user clicks on "Submit" on the Detailed Description tab, their new short description should be saved. Also, I'm noticing that we've mixed paradigms somewhat in the tabs. Some are like I describe above (cut up parts of the same form) whereas other tabs, like "Links" and Image Upload are distinct / separate functions. Curious to know if you have thoughts on this. Finally, whatever we do, we should make sure to play well with browser history (i.e. http://bugs.jqueryui.com/ticket/4587).
Another thought is to save each setting via ajax as each individual input loses focus without ever having to hit 'submit' (cancel would have to be able to restore all the original settings). This is how OS X does things. Alternatively, (and perhaps a little more performant as far as server requests) each tab could submit via ajax when it loses focus.
> I think we're going to have to treat each tab as a separate form. If we do that - I vote we put the submit and cancel buttons inside the panel as opposed to in the title bar. Having the buttons outside the actual form/tab implies that it applies to all tabs. I still think the buttons will have to submit via ajax. That should be simple enough though. > Why don't we use localStorage? localStorage is a great idea! And that looks like a wicked implementation. One problem with each tab being it's own form is; do we allow users to move between tabs with unsaved data? what happens when they edit one tab, move to the next and hit save (or close?)do we warn them? This seems confusing. I think that if we have tabs then their needs to be a single submit/cancel for all tabs. I am not sure why links need to be saved separately?
We've settled on a partial solution for launch, enough to close the bug. Will probably revisit tabs in a future iteration, but that'll warrant another bug anyway.
Status: NEW → RESOLVED
Last Resolved: 8 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.