Trovati 2 elementi con ID non univoco # fatturazione-nuovo-indirizzo-modulo Magento 2


8

Quando nella pagina di pagamento, ricevo il seguente errore di console quando si seleziona il metodo di spedizione e si passa al 'pagamento' del passaggio successivo.

[DOM] Trovati 2 elementi con ID non univoco # fatturazione-nuovo-indirizzo-modulo:

[DOM] Trovati 2 elementi con ID non univoco # fatturazione-salvataggio-in-rubrica: `

Come posso risolvere questo problema?


È un negozio Magento 2 predefinito / pulito? Quale versione? Sembra un bug in Magento 2. C'è un problema con Gitub collegato a questo? A partire da Chrome 63, ora genera errori relativi a DOM.
Erfan,

Ho lo stesso problema nell'edizione 2.1.9 della community di Magento
Supersonic il

qualsiasi soluzione per questo
Ahmad Vaqas Khan,

github.com/magento/magento2/issues/13415 - modelli da ./magento/module-checkout/view/frontend/web/template/billing-address/*.html sono utilizzati per ogni metodo di pagamento in cui l'indirizzo di fatturazione non può essere uguale alla spedizione, quando nella pagina vengono visualizzati 2 elementi DOM con lo stesso ID, viene generato l'errore. Dobbiamo aggiungere il codice del metodo di pagamento a questi ID ma questi sono modelli frontend. Solo il codice JS può farlo, ma non so come.
Alex Gusev,

Ho avuto lo stesso problema con 2.1.8, ma con #accordi. Ho sovrascritto il modulo principale di Accordi Magento con Magento_CheckoutAgreements nel mio modello personalizzato usando i file Mage 2.2 github.com/magento/magento2/tree/2.2/app/code/Magento/… File necessari: web / template / checkout / checkout-accordi.html web / js / model / Agreement-validator.js web / js / view / checkout-
accordi.js

Risposte:


1

Questo problema è stato risolto nel ramo 2.3-sviluppo, è anche riportato in versione 2.2 e sarà rilasciato in versione 2.2.6, posso vedere che è anche in versione 2.1.

Ci sono 2 posti che è necessario modificare per risolvere il problema

vendor / Magento / module-regalo-messaggio / view / frontend / web / template / regalo-messaggio-form.html

<!--
/**
 * Copyright © Magento, Inc. All rights reserved.
 * See COPYING.txt for license details.
 */
-->
<!-- ko if: isActive() -->
<div class="gift-message">
    <div class="gift-options-title">
        <span data-bind="i18n: 'Gift Message (optional)'"></span>
    </div>
    <div class="gift-options-content">
        <fieldset class="fieldset">
            <div class="field field-to">
                <label data-bind="attr: {for: 'gift-message-whole-to-' + index }" class="label">
                    <span data-bind="i18n: 'To:'"></span>
                </label>
                <div class="control">
                    <input type="text"
                           class="input-text"
                           data-bind="value: getObservable('recipient'), attr: { id: 'gift-message-whole-to-' + index }">
                </div>
            </div>

            <div class="field field-from">
                <label data-bind="attr: {for: 'gift-message-whole-from-' + index }" class="label">
                    <span data-bind="i18n: 'From:'"></span>
                </label>
                <div class="control">
                    <input type="text"
                           class="input-text"
                           data-bind="value: getObservable('sender'), attr: { id: 'gift-message-whole-from-' + index }">
                </div>
            </div>
            <div class="field text">
                <label for="gift-message-whole-message" class="label">
                    <span data-bind="i18n: 'Message:'"></span>
                </label>
                <div class="control">
                    <textarea id="gift-message-whole-message"
                              class="input-text"
                              rows="5" cols="10"
                              data-bind="value: getObservable('message')"></textarea>
                </div>
            </div>
        </fieldset>

    </div>
</div>
<!-- /ko -->
<div class="actions-toolbar">
    <div class="secondary">
        <button type="submit" class="action secondary action-update" data-bind="
                    attr: {title: $t('Update')},
                    click: $data.submitOptions.bind($data)">
            <span data-bind="i18n: 'Update'"></span>
        </button>
        <button class="action action-cancel" data-bind="
                    attr: {title: $t('Cancel')},
                    click: $data.hideFormBlock.bind($data)">
            <span data-bind="i18n: 'Cancel'"></span>
        </button>
    </div>
</div>

vendor / Magento / module-out / view / frontend / web / template / fatturazione-Indirizzo / form.html

<!--
/**
 * Copyright © Magento, Inc. All rights reserved.
 * See COPYING.txt for license details.
 */
-->
<div class="billing-address-form" data-bind="fadeVisible: isAddressFormVisible">
    <!-- ko foreach: getRegion('before-fields') -->
    <!-- ko template: getTemplate() --><!-- /ko -->
    <!--/ko-->
    <form data-bind="attr: {'data-hasrequired': $t('* Required Fields')}">
        <fieldset
            data-bind="attr: { id:'billing-new-address-form-'+index, value:index}"
            class="billing-new-address-form fieldset address">
            <!-- ko foreach: getRegion('additional-fieldsets') -->
            <!-- ko template: getTemplate() --><!-- /ko -->
            <!--/ko-->
            <!-- ko if: (isCustomerLoggedIn && customerHasAddresses) -->
            <div class="choice field">
                <input type="checkbox" class="checkbox"  data-bind="checked: saveInAddressBook, attr: {id: 'billing-save-in-address-book-' + getCode($parent)}" />
                <label class="label" data-bind="attr: {for: 'billing-save-in-address-book-' + getCode($parent)}" >
                    <span data-bind="i18n: 'Save in address book'"></span>
                </label>
            </div>
            <!-- /ko -->
        </fieldset>
    </form>
</div>

Saluti


-1

se vuoi Risolto il problema, segui questo passaggio

  1. trovato prima dove l'html nel file .phtml
  2. Ora anlaysis quelli che ottengono dati con loop come (for, foreach)
  3. se i dati ottengono con loop di quell'ID con aggiungere alcuni dati univoci

proprio come questo

<?php
foreach ($variable as $key => $value) {
 ?>
      <div id="billing-new-address-form<?php echo "-"."daynamic some unique id"; ?>"></div>
 <?php
}
?>

e ID uniq genarated


la sua non funziona.
Shekhar Suman,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.