0

我有一个奇怪的magento情况。他们安装的模板或扩展程序破坏了购物车页面上的优惠券代码提交按钮。人们无法通过单击“应用优惠券”按钮提交优惠券代码。他们必须按Enter。我找不到产生错误的 javascript。

任何解决方案。

4

5 回答 5

3

我发现解决方法很简单。

找到讨厌的代码:

<button type="button" title="Apply Coupon" onclick="discountForm.submit(false)" value="Apply Coupon"><span><span>Apply Coupon</span></span></button>

并将其更改为:

<button title="Apply Coupon" onclick="discountForm.submit(false)" value="Apply Coupon"><span><span>Apply Coupon</span></span></button>

通过删除 type=”button” 错误似乎可以自行纠正。删除类型后,按钮神奇地再次开始工作!我知道这治疗症状不是问题,但嘿,它有效。

于 2014-01-03T06:55:13.820 回答
1

** 100% 使用此解决方案 ** 在您的 coupon.phtml 文件中找到此代码(notepad++ 中的第 39 行)。

<button type="button" title="<?php echo Mage::helper('core')->quoteEscape($this->__('Apply Coupon')) ?>" class="button" onclick="discountForm.submit(false)" value="<?php echo Mage::helper('core')->quoteEscape($this->__('Apply Coupon')) ?>"><span><span><?php echo $this->__('Apply Coupon') ?></span></span></button>

*替换为代码*

<button type="Apply Coupon" title="<?php echo Mage::helper('core')->quoteEscape($this->__('Apply Coupon')) ?>" class="button" onclick="discountForm.submit(false)" value="<?php echo Mage::helper('core')->quoteEscape($this->__('Apply Coupon')) ?>"><span><span><?php echo $this->__('Apply Coupon') ?></span></span></button>

清除缓存并再次检查它应该可以工作

于 2015-12-15T05:50:06.220 回答
0

我通过更改要提交的类型来修复它。修复了应用和取消按钮。

于 2018-10-08T20:23:59.530 回答
-1

Bhavesh 在这里发布的解决方案似乎很快,但不能总是工作。

大多数 Magento 主题使用“prototype.js”作为 javascript 框架来处理客户端交互。有时我们会误解这里使用的变量“$”与 jquery 变量一起使用,我们最终可能会在页面中使用 jquery 来自定义页面。

在这种情况下,我们最终会在同一个网站中使用 2 个 javascript 框架“prototype.js”和“jQuery”,这将导致冲突。正是这种冲突使优惠券按钮不起作用。

为了解决此问题,您应执行以下操作:

  1. 使用 jQuery 冲突解决选项并分配除“$”以外的任何其他变量来调用 jquery。eg:$(".flowplayer .info").hover应该改成jQuery(".flowplayer .info").hover
  2. 您可以做的第二件事是在调用 jquery 脚本后调用原型脚本。

例如

<script type="text/javascript" src="http://mywebsite/js/jquery.tools.min.js">

<script type="text/javascript">jQuery.noConflict();</script>

<script type="text/javascript" src="http://mywebsite/js/prototype/prototype.js"></script>

于 2015-04-15T08:16:17.210 回答
-1

@Bhavesh 在这里发布的解决方案似乎很快,但不能总是工作。

大多数 Magento 主题prototype.js用作 javascript 框架来处理客户端交互。有时我们会误解$这里使用的变量和 jquery 变量,我们最终可能会在页面中使用 jquery 来自定义页面。

在这种情况下,我们最终会在同一个网站上使用 2 个 javascript 框架prototype.jsjQuery这将导致冲突。正是这种冲突使优惠券按钮不起作用。

为了解决此问题,您应执行以下操作:

$使用 jQuery 冲突解决选项并分配除调用 jquery 之外的任何其他变量。例如:$(".flowplayer .info").hover应该更改为jQuery(".flowplayer .info").hover 您可以做的第二件事是在调用jquery脚本之后调用原型脚本。例如

<script type="text/javascript" src="http://mywebsite/js/jquery.tools.min.js">
<script type="text/javascript">jQuery.noConflict();</script>
<script type="text/javascript" src="http://mywebsite/js/prototype/prototype.js"></script>
于 2015-10-14T18:36:54.780 回答