Posted: June 12, 2014 at 7:31 am
|
Hello everyone, I am currently having a problem with users clicking the submit button repeatedly for my events, which sometimes creates 3 or more registrations while the next page is loading. Is there a way to stop this? I know this can be done with javascript, but am unsure where to put it into the code. Thank you. |
Hi Clair, I ran some testing on this in the current version of EE3 but could not reproduce the issue. Could you let us know what page this is happening on? — |
|
Hi Clair, Normally what would happen is the prior registration would be overwritten because it’s all happening in the same PHP session. That said, if the server isn’t configured to allow PHP sessions, then you might see the double entries in the database. The first thing to check would be if PHP Sessions are enabled, and the Event Espresso > System Status page has this information. The other thing you can try is swapping out the contents of the event-espresso/scripts/validation.js file with the following: $jaer = jQuery.noConflict(); jQuery(document).ready(function($jaer) { jQuery(function(){ //Registration form validation jQuery('#registration_form').validate({ submitHandler:function(form){ alert("Please wait for the registration form to process"); $('.btn_event_form_submit').attr('disabled','disabled'); } }) }); }); You can try the above with or without the alert on line 7. The alert alone would likely prevent a second submission. |
|
|
Hi Lorenzo and Josh, Thank you for the quick replies. Lorenzo this is happening on all of our event pages the [ESPRESSO_EVENTS] short-code. Josh there is a sessions save path and session name in PHP Sessions. Your fix does work, however I don’t like the extra popup warning. Is there a way just to disable the button after the first click? Please go to http://intensity.club/event-registration/?ee=4244 to see an example, I clicked the register button multiple times and got multiple registrations. Thank you |
Hi Clair, the code I gave you should disable button after the first click *if the form passes validation*. If it disabled it after the first click only, then people wouldn’t be able to continue if they didn’t fill out a required form. The alert on line 7 is optional and you can remove line 7. I suggested earlier to try it with and without the alert. |
|
|
Josh, I removed the alert and I am still able to get multiple submissions. Any other ideas? |
Can you point us to a registration form that’s currently active so we can investigate further? |
|
|
http://intensity.club/event-registration/?ee=3792 Thank you. |
Hi Clair, Please review and change the code in the validation script to what follows: $jaer = jQuery.noConflict(); jQuery(document).ready(function($jaer) { jQuery('form .btn_event_form_submit').css("color", "green"); jQuery(function(){ //Registration form validation jQuery('#registration_form').validate({ submitHandler:function(form){ jQuery('form input[type=submit]').attr('disabled','disabled').css("color", "red"); form.submit(); } }) }); }); Please note a few adjustments to the script and that there’s a few places where we add the .css method to change the color of the button text from green (submit button active) to red (submit button is disabled). The color changes are intended to be temporary to help verify the script is working. You can remove those after testing. |
|
|
Amazing. Works perfectly now Josh. Thank you! |
The support post ‘Preventing Double Submit on Registration Page’ is closed to new replies.
Have a question about this support post? Create a new support post in our support forums and include a link to this existing support post so we can help you.