diff --git a/app/webpacker/controllers/stripe_cards_controller.js b/app/webpacker/controllers/stripe_cards_controller.js index 03eb1ef4ec..5ac7a34285 100644 --- a/app/webpacker/controllers/stripe_cards_controller.js +++ b/app/webpacker/controllers/stripe_cards_controller.js @@ -16,8 +16,18 @@ export default class extends Controller { selectCard(cardValue) { if (cardValue == "") { this.stripeelementsTarget.style.display = "block"; + this.getFormElementsArray(this.stripeelementsTarget).forEach((i) => { + i.disabled = false; + }); } else { this.stripeelementsTarget.style.display = "none"; + this.getFormElementsArray(this.stripeelementsTarget).forEach((i) => { + i.disabled = true; + }); } } + + getFormElementsArray(container) { + return Array.from(container.querySelectorAll("input, select, textarea")); + } } diff --git a/spec/javascripts/stimulus/stripe_cards_controller_test.js b/spec/javascripts/stimulus/stripe_cards_controller_test.js index 98b590861a..44679a1e81 100644 --- a/spec/javascripts/stimulus/stripe_cards_controller_test.js +++ b/spec/javascripts/stimulus/stripe_cards_controller_test.js @@ -13,7 +13,9 @@ describe("StripeCardsController", () => { -
+