From d4f273e306551bd860bea1a545c397951849929d Mon Sep 17 00:00:00 2001 From: objecttothis Date: Fri, 19 Feb 2021 10:22:11 +0400 Subject: [PATCH] Grey out/disable Submit button after validation to prevent double submissions. Change to a centralized method of greying out the submit button. Rollback previous decentralized changes. --- application/views/cashups/form.php | 2 -- application/views/customers/form.php | 2 -- application/views/customers/form_csv_import.php | 2 -- application/views/expenses_categories/form.php | 2 -- application/views/giftcards/form.php | 2 -- application/views/item_kits/form.php | 2 -- application/views/items/form.php | 3 --- application/views/items/form_csv_import.php | 2 -- application/views/suppliers/form.php | 2 -- public/js/manage_tables.js | 7 +++++++ 10 files changed, 7 insertions(+), 19 deletions(-) diff --git a/application/views/cashups/form.php b/application/views/cashups/form.php index de94e1daa..734afb8b3 100644 --- a/application/views/cashups/form.php +++ b/application/views/cashups/form.php @@ -317,8 +317,6 @@ $(document).ready(function() var submit_form = function() { - $('#submit').prop('disabled',true).css('opacity',0.5); - $(this).ajaxSubmit( { success: function(response) diff --git a/application/views/customers/form.php b/application/views/customers/form.php index 60474d602..0c015b19c 100644 --- a/application/views/customers/form.php +++ b/application/views/customers/form.php @@ -475,8 +475,6 @@ $(document).ready(function() $('#customer_form').validate($.extend({ submitHandler: function(form) { - $('#submit').prop('disabled',true).css('opacity',0.5); - $(form).ajaxSubmit({ success: function(response) { diff --git a/application/views/customers/form_csv_import.php b/application/views/customers/form_csv_import.php index 7d8969847..b19512512 100644 --- a/application/views/customers/form_csv_import.php +++ b/application/views/customers/form_csv_import.php @@ -26,8 +26,6 @@ $(document).ready(function() { $('#csv_form').validate($.extend({ submitHandler: function(form) { - $('#submit').prop('disabled',true).css('opacity',0.5); - $(form).ajaxSubmit({ success: function(response) { diff --git a/application/views/expenses_categories/form.php b/application/views/expenses_categories/form.php index e31db7efc..21997b94f 100644 --- a/application/views/expenses_categories/form.php +++ b/application/views/expenses_categories/form.php @@ -37,8 +37,6 @@ $(document).ready(function() { $('#expense_category_edit_form').validate($.extend({ submitHandler: function(form) { - $('#submit').prop('disabled',true).css('opacity',0.5); - $(form).ajaxSubmit({ success: function(response) { diff --git a/application/views/giftcards/form.php b/application/views/giftcards/form.php index 8fc247600..22285ea3a 100644 --- a/application/views/giftcards/form.php +++ b/application/views/giftcards/form.php @@ -84,8 +84,6 @@ $(document).ready(function() $('#giftcard_form').validate($.extend({ submitHandler: function(form) { - $('#submit').prop('disabled',true).css('opacity',0.5); - $(form).ajaxSubmit({ success: function(response) { diff --git a/application/views/item_kits/form.php b/application/views/item_kits/form.php index 141699d20..93aac9e0c 100644 --- a/application/views/item_kits/form.php +++ b/application/views/item_kits/form.php @@ -255,8 +255,6 @@ $(document).ready(function() $('#item_kit_form').validate($.extend({ submitHandler: function(form) { - $('#submit').prop('disabled',true).css('opacity',0.5); - $(form).ajaxSubmit({ success: function(response) { diff --git a/application/views/items/form.php b/application/views/items/form.php index b3a461342..cf8024077 100644 --- a/application/views/items/form.php +++ b/application/views/items/form.php @@ -521,8 +521,6 @@ $(document).ready(function() var init_validation = function() { $('#item_form').validate($.extend({ submitHandler: function(form, event) { - $('#submit').prop('disabled',true).css('opacity',0.5); - $(form).ajaxSubmit({ success: function(response) { var stay_open = dialog_support.clicked_id() != 'submit'; @@ -535,7 +533,6 @@ $(document).ready(function() '#tax_percent_name_1, #category, #reference_number, #name, #cost_price, #unit_price, #taxed_cost_price, #taxed_unit_price, #definition_name, [name^="attribute_links"]').val(''); // de-select any checkboxes, radios and drop-down menus $(':input', '#item_form').removeAttr('checked').removeAttr('selected'); - $('#submit').prop('disabled',false).css('opacity',1); } else { diff --git a/application/views/items/form_csv_import.php b/application/views/items/form_csv_import.php index 04a87341e..20995c025 100644 --- a/application/views/items/form_csv_import.php +++ b/application/views/items/form_csv_import.php @@ -26,8 +26,6 @@ $(document).ready(function() { $('#csv_form').validate($.extend({ submitHandler: function(form) { - $('#submit').prop('disabled',true).css('opacity',0.5); - $(form).ajaxSubmit({ success:function(response) { diff --git a/application/views/suppliers/form.php b/application/views/suppliers/form.php index 77b02e054..e38aad396 100644 --- a/application/views/suppliers/form.php +++ b/application/views/suppliers/form.php @@ -69,8 +69,6 @@ $(document).ready(function() { $('#supplier_form').validate($.extend({ submitHandler: function(form) { - $('#submit').prop('disabled',true).css('opacity',0.5); - $(form).ajaxSubmit({ success: function(response) { diff --git a/public/js/manage_tables.js b/public/js/manage_tables.js index 4a39eb0d5..4dd0f6a50 100644 --- a/public/js/manage_tables.js +++ b/public/js/manage_tables.js @@ -15,8 +15,15 @@ const form = $('form', dlog_ref.$modalBody).first(); const validator = form.data('validator'); const submitted = validator && validator.formSubmitted; + const is_valid = !$.isEmptyObject(validator.invalid) + btn_id = button_id; dialog_ref = dlog_ref; + + if (button_id == 'submit' && is_valid){ + $('#submit').prop('disabled', true).css('opacity', 0.5); + } + if (button_id == 'submit' && (!submitted && btn_id != "btnNew")) { form.submit(); }