1

我相信我的网站上存在 jquery 冲突。但我不明白如何使用萤火虫来调试它。

从我们的购物车页面单击“计算运输和处理链接”时,结果永远不会显示。

为此,您首先需要在http://www.musicforte.com/sheet_music/上将一个项目添加到您的购物车,然后单击页面右上角的“购物车”。

在使用“persist”查看“控制台”时,我在 firebug 中看到的是红色 x,并且 jquery.js 第 141 行有错误。

我怎样才能了解冲突在哪里并解决它?

我修改了代码以按照建议在“计算运费”按钮中包含一个 id,但仍然没有运气。这是正在使用的代码:

我尝试将 ID 添加到“计算运费”按钮。但它并没有解决问题。我将代码修改为:

<a href="#" class="EstimateShippingLink" onclick="Cart.ToggleShippingEstimation(); return false;"><em>%%LNG_CalculateShippingHandling%%</em></a>
                        <div class="EstimateShipping" style="display: none;">
                            <div class="EstimatedShippingMethods" style="display: none;">
                                <div class="ShippingMethodList">
                                </div>
                                <hr />
                            </div>
                            <dl>
                                <dt>%%LNG_Country%%:</dt>
                                <dd>
                                    <select style="width:200px;" name="shippingZoneCountry" id="shippingZoneCountry" onchange="Cart.ToggleShippingEstimateCountry();">
                                        %%GLOBAL_ShippingCountryList%%
                                    </select>
                                </dd>

                                <dt>%%LNG_StateProvince%%:</dt>
                                <dd>
                                    <select style="display: %%GLOBAL_ShippingHideStateList%%" style="width:200px;" name="shippingZoneState" id="shippingZoneState">
                                        %%GLOBAL_ShippingStateList%%
                                    </select>
                                    <input style="display: %%GLOBAL_ShippingHideStateBox%%" type="text" class="Textbox Field200" name="shippingZoneStateName" id="shippingZoneStateName" value="%%GLOBAL_AddressState%%" />
                                </dd>

                                <dt>%%LNG_ZipPostcode%%:</dt>
                                <dd><input type="text" class="Field100 Textbox" name="shippingZoneZip" id="shippingZoneZip" value="%%GLOBAL_ShippingZip%%" /></dd>
                            </dl>
                            <p class="Submit EstimateShippingButtons">
                                <span style="display:inline-block;padding-right: 10px;vertical-align:top;"><a href="#" onclick="Cart.ToggleShippingEstimation();">%%LNG_Cancel%%</a> %%LNG_or%% </span><input type="image" class="formBtn" src="%%GLOBAL_TPL_PATH%%/images/%%GLOBAL_SiteColor%%/CalculateShipping.gif" onclick="Cart.EstimateShipping();" value="%%LNG_CalculateShipping%%" id="fixshipping" />
                            </p>
                        </div>
4

1 回答 1

0

问题是您将模块嵌入表单中,当您单击图像输入时,它正在执行浏览器默认设置并提交整个表单,而不仅仅是您的运输字段,并导致页面重新加载。

我认为错误是由于 ajax 被中止。

我在控制台中运行了它,并且能够在不重新加载页面或错误的情况下返回运输计算

$('.EstimateShippingButtons input').click(function(){
   return false;
})

您可能想要改进选择器,也许在您的 shiiping calcs 提交按钮中添加一个 ID

编辑:实际上只需要添加return false或添加event.preventDefault()到您现有的处理程序

在 cart.js 中将其添加到 Cart.EstimateShipping 的末尾

于 2012-06-04T02:13:07.147 回答