我有一个奇怪的magento情况。他们安装的模板或扩展程序已破坏其购物车页面上的优惠券代码提交按钮。人们无法通过点击“应用优惠券”按钮提交优惠券代码。他们不得不打进去。我找不到产生错误的javascript。
任何解决方案。
答案 0 :(得分: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”,错误似乎自行纠正。删除类型后,按钮神奇地再次开始工作!我知道这对症状不是问题,但嘿它有效。
答案 1 :(得分:1)
** 100%使用此解决方案** 在coupon.phtml文件中找到此代码(记事本++中的第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>
清除你的缓存并再次检查它应该是有效的
答案 2 :(得分:0)
Bhavesh在这里发布的解决方案似乎很快,但总是无法工作。
大多数Magento主题使用&#34; prototype.js&#34;作为处理客户端交互的javascript框架。有时我们会误解变量&#34; $&#34;这里使用了jquery变量,我们最终可能会在页面中使用jquery来自定义页面。
在这种情况下,我们最终使用2个javascript框架&#34; prototype.js&#34;和&#34; jQuery&#34;在同一个网站上会导致冲突。正是这种冲突使得优惠券按钮不起作用。
为了解决这个问题,您应该执行以下操作:
$(".flowplayer .info").hover
应更改为jQuery(".flowplayer .info").hover
例如
<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>
答案 3 :(得分:0)
@Bhavesh在这里发布的解决方案似乎很快,但总是无法工作。
大多数Magento主题使用prototype.js
作为javascript框架来处理客户端交互。有时我们误解了此处使用的变量$
和jquery变量,我们最终可能会在页面中使用jquery来自定义页面。
在这种情况下,我们最终在同一网站中使用2个javascript框架prototype.js
和jQuery
,这将导致冲突。正是这种冲突使得优惠券按钮不起作用。
为了解决这个问题,您应该执行以下操作:
使用jQuery conflict resolve选项并指定除$
以外的任何其他变量来调用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>
答案 4 :(得分:0)
我通过更改要提交的类型来修复它。修复了应用按钮和取消按钮。