javascript - 结帐页面上的 Magento setAttribute 错误

标签 javascript jquery magento magento-1.7

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

  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'

这些与此有什么关系吗?由于 Bootstrap ,我从原型(prototype)中获取了所有的 attachEvent 和 blah blah。我不知道如何解决这个问题,所以我目前将其搁置。我猜 setAttribute 肯定是导致问题的原因?

感谢任何帮助..

我不知道这是否有任何帮助,但在您点击“继续结帐”之前的购物车页面上,它在 ESTIMATE SHIPPING AND TAX 下列出了“州/省”标签,但没有选择/输入box.. 所以它在结帐页面上显示为无效的 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..

最佳答案

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

  • 将其放入 jquery-noconflict.js 文件中:jQuery.noConflict();
  • 将其添加到
  • 中的 jQuery.js 文件之后

完成! =) 犯了很多错误,人们说 Bootstrap 和原型(prototype)相互干扰。发出 noConflict() 后所有这些错误都消失了!

关于javascript - 结帐页面上的 Magento setAttribute 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17973132/

相关文章:

javascript - 如何告诉网络浏览器用户已经修改了页面?

javascript - 使用 Jquery 将鼠标悬停在元素的前 24 个子元素上

mysql - Magento 可以连接到另一个 MySQL 数据库吗?

javascript - 将参数传递给 Raphael customAttributes 方法

JavaScript/jQuery多维数组(对象)转php

javascript - FormData 添加文件不起作用

magento - 如何获取购物车中允许的产品属性最小数量

magento - 如何在静态 block 中获取特定商店 View 的基本 url?

javascript - JQPlot 显示堆积条水平错误

javascript - 'this' 没有选择 jquery 函数