-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 扩展的客户。在我的扩展中,JS 变量名称 - 'name' 有一个值 - “payment_form_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 回答