Как сбросить форму кредитной карты после отправки формы в Square Connect - PullRequest
0 голосов
/ 27 июня 2019

В Square Connect я создаю Nonce для кредитной карты, используя sqPaymentForm. После того, как я отправлю форму и создаю Nonce, я хотел бы сбросить форму / очистить все Textboxes. Я использую Angular 7, и FormGroup не работает с sqPaymentForm. так как я могу сбросить форму в форме Отправить?

this.paymentForm = new SqPaymentForm({

        // Initialize the payment form elements
        applicationId: this.applicationId,
        locationId: this.locationId,
        autoBuild: false,
        inputClass: 'sq-input',
        // Initialize the credit card placeholders
        cardNumber: {
          elementId: 'sq-card-number',
          placeholder: 'Valid Card Number'
        },
        cvv: {
          elementId: 'sq-cvv',
          placeholder: 'CVV'
        },
        expirationDate: {
          elementId: 'sq-expiration-date',
          placeholder: 'Expiration'
        },
        postalCode: {
          elementId: 'sq-postal-code',
          placeholder: 'Zip Code'
        },
        // SqPaymentForm callback functions
        callbacks: {
          /*
           * callback function: methodsSupported
           * Triggered when: the page is loaded.
           */

          /*
           * callback function: cardNonceResponseReceived
           * Triggered when: SqPaymentForm completes a card nonce request
           */
          cardNonceResponseReceived: (errors, nonce, cardData) => {
            if (errors) {
              // Log errors from nonce generation to the Javascript console
              console.log("Encountered errors:");
              errors.forEach(function (error) {
                console.log('  ' + error.message);
              });
              return;
            }

            this.updateCustomerCard(nonce, cardData.billing_postal_code);
          },

          /*
           * callback function: paymentFormLoaded
           * Triggered when: SqPaymentForm is fully loaded
           */
          paymentFormLoaded: function () {
            /* HANDLE AS DESIRED */
          }
        }
      });

      this.paymentForm.build();
    }

1 Ответ

1 голос
/ 27 июня 2019

Невозможно напрямую редактировать любое из полей, поэтому вы не сможете сбросить поля по одному. Однако у вас есть возможность вызвать destroy () в форме оплаты, а затем вызвать build () , чтобы перестроить форму (что по существу сбросит все поля).

...