2018-05-04 12-26-50
Gonçalo Veiga
Platform mechanism to prevent button double-clicking
4786
Views
17
Comments
Not right now
Frontend (App Interfaces)

It's always a problem when users click on buttons more than once, duplicating server requests.

There are solutions for both client and server-side.

This hassle exists for such a long time and happens on so many projects!
Everyone should do a 'like' on this idea!
The platform should provide a simple way to prevent duplicate action submissions (enabled by default but configurable for asynchronous actions).

Screens actions that are slow tend to have people clicking "Save"/submit multiple times because they aren't sure they already clicked.

The existing workaround based on javascript should be implemented by the platform itself.

Note: this idea came from this discussion:
https://www.outsystems.com/forums/discussion/11270/preventing-multiple-execution-of-save-action/

Merged from 'Preventing multiple execution of Save action' (idea created on 2014-01-25 13:09:12 by Davide Marquês), on 2014-02-03 10:16:48 by Davide Marquês
Hi,

Same idea as this one. These ideas should be merged to sum up the likes :)

Cheers,
JA

Merged from 'Preventing multiple execution of Save action' (idea created on 2014-01-25 13:09:12 by Davide Marquês), on 2014-02-03 10:16:49 by Davide Marquês
2023-02-10 19-42-59
João Melo
 
MVP
As a workaround... You can temporarily disable the button after click, and enable aggain after a timeout. A two-lines javascript code would make this happen.

Isn't this accomplished with the .Button.Load classes, from SilkUI?

Leonardo,

Classes ".Button.Load" won't work on buttons.

Quote from the SilkUI site (https://silkui.outsystems.com/Patterns_Web.aspx#Web_Controls_Buttons):

This class won't work on platform buttons. Adding the class Load, avoids multiple user clicks while the request is being processed.

And also:

How to use

To create these custom buttons use links, instead of buttons, and add the provided classes - Button, along with Success, Cancel, Link, Danger, Icon or Small. To use icons within the custom button wrap the RichWidget’s Icon block with the link. To enable the Loading behaviour, which prevents consequent clicks while the request is undergoing, add the Load class.

Hi Tiago. And why can't you use a link instead of a button, as the SilkUI documentation suggests?

Merged this idea with 'Preventing multiple execution of Save action' (created on 2014-01-25 13:09:12 by Davide Marquês)
2014-02-07 17-02-43
Vasco Pessanha
Changed the category to
Service Studio
2014-02-07 17-02-43
Vasco Pessanha
Changed the category to
Frontend
2014-02-07 17-02-43
Vasco Pessanha
Merged this idea with 'Property Multiple Click in Button and Link' (created on 07 Nov 2018 14:00:12 by Carlos Alfradique)

Hi there guys,

For more agility and to avoid the developer change the JS, in my opinion it should exist a new property in the button and link to include a way for the js authorize or not the multiple click in the button or link, which in this case the default value is False.


Thanks.



This comment was:
- originally posted on idea 'Property Multiple Click in Button and Link' (created on 07 Nov 2018 by Carlos Alfradique)
- merged to idea 'Platform mechanism to prevent button double-clicking' on 24 Dec 2018 01:07:10 by Vasco Pessanha

That's a great ideia!



This comment was:
- originally posted on idea 'Property Multiple Click in Button and Link' (created on 07 Nov 2018 by Carlos Alfradique)
- merged to idea 'Platform mechanism to prevent button double-clicking' on 24 Dec 2018 01:07:10 by Vasco Pessanha
Merged this idea with 'Disable button while processing backend activity' (created on 11 Jun 2021 06:36:15 by Prajakta Roshankhede)

Can we have one option for button, once clicked it should be disabled while performing backend activity



This comment was:
- originally posted on idea 'Disable button while processing backend activity' (created on 11 Jun 2021 by Prajakta Roshankhede)
- merged to idea 'Platform mechanism to prevent button double-clicking' on 13 Jun 2021 04:08:03 by Justin James
Changed the status to
Not right now

After an extensive investigation, we found that there is an Outsystems supported solution for this use case:

A utility from OutSystems UI named ButtonLoading allows a user to disable the button while showing a loading icon. For more details check the documentation.