-1

私のワンステップチェックアウトは私に頭痛の種を与えています。IEの開発コンソールは私にこのスニペットからのエラーを与えています:

var checkout = new Checkout();
$$('#checkout-payment-method-load dt input').invoke('observe', 'click', function(e) {

var element = e.element();
var name = 'payment_form_' + element.getValue();
payment.currentMethod = element.getValue();
/* Hide all other forms */
$$('dd.payment-method').invoke('hide');

if(element.checked) {
    payment.switchMethod(payment.currentMethod);
    var form = $(name);
    var container = $('container_payment_method_' + element.getValue());

    if(element !== null && container !== null)    {
        container.show();
       $(name).show();
    }
}
});

これは私に問題を与えている行です:

        if(element !== null && container !== null)    {
        container.show();
       $(name).show();

私がこれをコメントアウトすると、それはうまく機能しています:

          $(name).show();

この行の目的がわかりませんか?誰かがこれを手伝ってくれますか?

4

1 に答える 1

1

提案

OneStepCheckOut拡張機能を使用している私のクライアントの1つ。私の拡張機能では、JS変数名-'name'の値は"payment_form_cashondelivery"で、これは "CashOnDelivery"支払い情報のIDです。

<ul style="" id="payment_form_cashondelivery">
        <li>You will be charged an extra fee of <span class="price">Rs. 75.00</span>.</li>
        <li>Did you know: By using Credit Cards or Net Banking you can get Free Shipping?</li>
</ul>

そのため、「代金引換」のお支払い方法があることを確認してください。

この支払いオプションが有効になっていない場合は、JSにIF条件を設定して、IDが存在するかどうかを確認します。

if($(name)) { $(name).show(); }
于 2012-10-05T11:54:53.433 に答える