Prevent duplicat submissions

This commit is contained in:
Hillel Coren 2018-02-21 15:21:27 +02:00
parent 5cb9262656
commit b6ba6fccda
6 changed files with 41 additions and 11 deletions

View File

@ -271,6 +271,7 @@
<script type="text/javascript">
NINJA.formIsChanged = {{ isset($formIsChanged) && $formIsChanged ? 'true' : 'false' }};
NINJA.formIsSubmitted = false;
$(function () {
$('form.warn-on-exit input, form.warn-on-exit textarea, form.warn-on-exit select').change(function () {

View File

@ -55,19 +55,22 @@
}
},
onPaymentMethodReceived: function(e) {
if (NINJA.formIsSubmitted) {
event.preventDefault();
return false;
}
NINJA.formIsSubmitted = true;
// Disable the submit button to prevent repeated clicks
$form.find('button').prop('disabled', true);
$('#js-error-message').hide();
// Insert the token into the form so it gets submitted to the server
$form.append($('<input type="hidden" name="sourceToken"/>').val(e.nonce));
// and submit
$form.get(0).submit();
}
});
$('.payment-form').submit(function(event) {
var $form = $(this);
// Disable the submit button to prevent repeated clicks
$form.find('button').prop('disabled', true);
$('#js-error-message').hide();
});
});
</script>
@stop

View File

@ -47,9 +47,14 @@
$(function() {
$('.payment-form').submit(function(event) {
var $form = $(this);
if (NINJA.formIsSubmitted) {
event.preventDefault();
return false;
}
NINJA.formIsSubmitted = true;
// Disable the submit button to prevent repeated clicks
var $form = $(this);
$form.find('button').prop('disabled', true);
return true;

View File

@ -9,7 +9,15 @@
$(function() {
var countries = {!! Cache::get('countries')->pluck('iso_3166_2','id') !!};
$('.payment-form').submit(function(event) {
if($('[name=plaidAccountId]').length)return;
if ($('[name=plaidAccountId]').length) {
return false;
}
event.preventDefault();
if (NINJA.formIsSubmitted) {
return false;
}
NINJA.formIsSubmitted = true;
var $form = $(this);

View File

@ -8,9 +8,16 @@
<script type="text/javascript">
Stripe.setPublishableKey('{{ $accountGateway->getPublishableStripeKey() }}');
$(function() {
var countries = {!! Cache::get('countries')->pluck('iso_3166_2','id') !!};
$('.payment-form').unbind('submit').submit(function(event) {
if($('[name=plaidAccountId]').length)return;
event.preventDefault();
if (NINJA.formIsSubmitted) {
return false;
}
NINJA.formIsSubmitted = true;
if ($('[name=plaidAccountId]').length) {
return;
}
var $form = $(this);

View File

@ -11,6 +11,12 @@
WePay.set_endpoint('{{ WEPAY_ENVIRONMENT }}');
var $form = $('.payment-form');
$('.payment-form').submit(function(event) {
event.preventDefault();
if (NINJA.formIsSubmitted) {
return false;
}
NINJA.formIsSubmitted = true;
var data = {
client_id: {{ WEPAY_CLIENT_ID }},
user_name: $('#first_name').val() + ' ' + $('#last_name').val(),