At the office we are talking about an interface on our web application, which has ajaxified checkboxes: you click it, and the change is live. No "action" is performed other than changing data on the server. One group doesn't like this and prefers a submit button, and others of us prefer the ajax version.

This got me to thinking about when to use both, and my intuition says that the ajax version is better for one-off operations, whereas a submit button is better for batch operations where the user will change a number of the check boxes at once, and then hit 'go'. I'm not much of a designer though. Any thoughts on this issue?

  • 1
    By the way, we do give feedback right away with the ajax version. Commented Apr 3, 2012 at 13:16

1 Answer 1


As with all these things it depends. Both approaches are equally valid but you have to consider some other factors:

  • Batch operations - you've already covered this, but it usually better to have a "submit" button if there are several settings the user can update in one go.

  • Visibility - is the result of the change immediately visible - i.e. can the user see straight away that they've made the change, either directly in the application or via some feedback from the server? Usually if you are changing a value on a server that feedback is missing so having an immediate change might not be appropriate. This leads on to:

  • Permanence - can the user immediately undo the action without problems? So if they click the check box and then realise they shouldn't have, can they undo the action by simply clicking the check box again? If so then an immediate update should be OK, but if not (e.g. they have to restore data etc.) then there really should be an extra step asking for confirmation and that's usually on a "submit" button.

  • 2
    It comes down to how much damage they can do and how easy it is to rectify if it happens. The greater the impact the more definite the action needs to be to apply that action.
    – JonW
    Commented Apr 3, 2012 at 11:07
  • 2
    With batch operations, it depends on the lag and synchronicity. If there is noticeable lag (>0.5 s for system to accept the user’s input) and settings are synchronous (the user has to wait for one setting to be accepted before changing another), then use a Submit button. It’s better for a user to wait 10 seconds all at once than to wait 2 seconds 5 separate times. If input is asynchronous and there’s lag, then no Submit button, but include feedback at each input control to indicate when it’s pending versus accepted. Commented Apr 3, 2012 at 11:27

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.