1

好的,所以当您“继续结帐”时,它会为您提供以下列表:

  1. 结账方式
  2. 账单信息
  3. 运输信息
  4. 邮寄方式
  5. 支付信息
  6. 订单审查

默认情况下,结帐方法被认为是下拉,当你点击“继续”时,计费信息会下拉类似于这样:http ://www.plazathemes.com/demo/ma_musicgear/index.php/checkout/onepage/

但是,当我转到该页面时,不会下拉结帐方法,并且每当我单击它时,什么都没有发生。现在这些都是我的 JS 错误:

Uncaught TypeError: Object [object Object] has no method 'attachEvent' prototype.js:5644
2
Uncaught TypeError: Object [object Object] has no method 'attachEvent' prototype.js:5653
Uncaught TypeError: Object [object Object] has no method 'setAttribute' clearchannel.halfoffdeals.com/index.php/checkout/onepage/:349
Uncaught TypeError: Object [object Object] has no method 'attachEvent' prototype.js:5644
Uncaught TypeError: Object [object Object] has no method 'observe' opcheckout.js:236
Uncaught TypeError: Object [object Object] has no method 'setAttribute' clearchannel.halfoffdeals.com/index.php/checkout/onepage/:544
Uncaught TypeError: Object [object Object] has no method 'observe' opcheckout.js:374
Uncaught TypeError: Object [object Object] has no method 'observe' opcheckout.js:537
Uncaught TypeError: Object [object Object] has no method 'getElementsByTagName' prototype.js:5010
Uncaught TypeError: Object [object Object] has no method 'attachEvent' prototype.js:5653
Uncaught TypeError: Object [object Object] has no method 'attachEvent' prototype.js:828
Uncaught TypeError: Object [object Object] has no method 'dispatchEvent'

这些与此有关吗?由于引导程序,我从原型中获得了所有的 attachEvent 和 blah blah。我不知道如何解决这个问题,所以我目前将其搁置。我猜 setAttribute 肯定是可能导致问题的东西?

谢谢你的帮助..

我不知道这是否有任何帮助,但在您点击“继续结帐”之前的购物车页面上,它在 ESTIMATE SHIPPING AND TAX 下列出了这个标签“州/省”,而不是选择/输入框。因此,它在结帐页面上显示为无效的 region_id:

所以 SetAttribute 错误来自本节:

                        <div class="field">
                            <label for="shipping:region" class="required"><em>*</em>State/Province</label>
                            <div class="input-box">
                                <select id="shipping:region_id" name="shipping[region_id]" title="State/Province" class="validate-select" style="display:none;">
                                    <option value="">Please select region, state or province</option>
                                </select>
                                <script type="text/javascript">
                                //<![CDATA[
                                    $('shipping:region_id').setAttribute('defaultValue',  "");
Uncaught TypeError: Object [object Object] has no method 'setAttribute'
                                //]]>
                                </script>
                                <input type="text" id="shipping:region" name="shipping[region]" value="" title="State/Province" class="input-text " style="display:none;" />
                            </div>
                        </div>

就是说 $('shipping:region_id') 没有方法 setAttribute..

4

3 回答 3

2

@ROMMEL 帮助了答案。这些是我为解决问题而采取的步骤:

  • 把它放在一个 jquery-noconflict.js 文件中:jQuery.noConflict();
  • 在 jQuery.js 文件之后添加它

完毕!=) 犯了很多错误,人们说引导程序和原型相互干扰。发出 noConflict() 后,所有这些错误都会消失!

于 2013-07-31T19:31:40.427 回答
1

总是在文件jQuery.noConflict(); JS file之前添加。像这样的意思prototype.jspage.xml

<action method="addJs"><script>global.js</script></action> <action method="addJs"><script>jquery.jcarousel.pack.js</script></action> <action method="addJs"><script>jquery.noconflict.js</script></action> <action method="addJs"><script>prototype/prototype.js</script></action>

于 2013-12-04T17:18:46.980 回答
0

从新的 magento 备份中替换prototype.js 文件并再次检查。

于 2017-08-07T08:39:14.830 回答