Opened 6 months ago

Last modified 4 months ago

#28889 assigned Cleanup/optimization

Use JavaScript to prevent double submission of admin forms

Reported by: Manuel Saelices Owned by: Karan Bedi
Component: contrib.admin Version: 1.11
Severity: Normal Keywords:
Cc: Triage Stage: Accepted
Has patch: yes Needs documentation: no
Needs tests: yes Patch needs improvement: no
Easy pickings: no UI/UX: no

Description (last modified by Manuel Saelices)

For fast clickers.

Change History (7)

comment:1 Changed 6 months ago by Manuel Saelices

Description: modified (diff)

Fixed on this Pull Request: https://github.com/django/django/pull/9425

comment:2 Changed 6 months ago by Aymeric Augustin

Triage Stage: UnreviewedAccepted

I think this is an improvement and the implementation looks reasonable.

comment:3 Changed 6 months ago by Tim Graham

Has patch: set
Needs tests: set
Summary: Prevent double submission on admin formsUse JavaScript to prevent double submission of admin forms
Type: BugCleanup/optimization

I found an article titled JavaScript: Preventing Double Form Submission which might be worth reviewing. In particular, it points out "Rather than simply disabling the button, we can also change the text so that people don't get confused."

Did you consider trying to add some tests for the patch?

I share Nick's concern on the pull request that this may have a good chance of causing some regression in unconsidered edge cases. I'm not sure if it's considered a best practice these days. The article suggests that some browsers (e.g. IE11) treat a double click as a single click. It seems unfortunate if every project has to add something like this.

comment:4 Changed 4 months ago by Karan Bedi

Owner: changed from nobody to Karan Bedi
Status: newassigned

comment:5 Changed 4 months ago by Karan Bedi

I have created a PR. Please guide me how to proceeding further.
PR

comment:6 Changed 4 months ago by Carlton Gibson

Hi Karan,

Thanks for the input. Your fix includes the changes Nick suggested from the original PR. (Great.)

To get this merged we need to address Tim's concerns.

  • Can we add some selenium tests, to exercise the behaviour?
  • What's your assessment of the article Tim linked to? Do we need (still) to do this?
Last edited 4 months ago by Carlton Gibson (previous) (diff)

comment:7 Changed 4 months ago by Karan Bedi

Hi Carlton,

  • I am unable to reproduce the behavior, probably because till now, I am serving on localhost.
  • In the article, there are different methods of implementing the same. One improvement can be changing the label of the submit button after a click.
  • From the point of usability, there is just a comment by someone, which also doesn't seem concrete.

Please guide me on how to proceed further.

Note: See TracTickets for help on using tickets.
Back to Top