триггер update_checkout, удаляющий данные карты полосы - PullRequest
0 голосов
/ 25 сентября 2019

При срабатывании update_checkout в jQuery, страница оформления заказа обновляется деталями платежа, в которых удаляются введенные данные карты.

Я добавил пользовательский код для хранения и восстановления данных карты, но я вижу, что код существуетв plugins/woocommerce/assets/js/frontend/checkout.js, который уже делает то же самое, но, кажется, не работает.

    // Save payment details to a temporary object
                    var paymentDetails = {};
                    $( '.payment_box :input' ).each( function() {
                        var ID = $( this ).attr( 'id' );

                        if ( ID ) {
                            if ( $.inArray( $( this ).attr( 'type' ), [ 'checkbox', 'radio' ] ) !== -1 ) {
                                paymentDetails[ ID ] = $( this ).prop( 'checked' );
                            } else {
                                paymentDetails[ ID ] = $( this ).val();
                            }
                        }
                    });

    // Fill in the payment details if possible without overwriting data if set.
                    if ( ! $.isEmptyObject( paymentDetails ) ) {
                        $( '.payment_box :input' ).each( function() {
                            var ID = $( this ).attr( 'id' );

                            if ( ID ) {
                                if ( $.inArray( $( this ).attr( 'type' ), [ 'checkbox', 'radio' ] ) !== -1 ) {
                                    $( this ).prop( 'checked', paymentDetails[ ID ] ).change();
                                } else if ( null !== $( this ).val() && 0 === $( this ).val().length ) {
                                    $( this ).val( paymentDetails[ ID ] ).change();
                                }
                            }
                        });
                    }

Данные карты должны быть восстановлены, когда они уже введены.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...