繁体   English   中英

Magento –优惠券代码提交按钮不起作用

[英]Magento – Coupon Code Submit Button Not Working

我有些奇怪的magento情况。 他们安装的模板或扩展程序发现其购物车页面上的优惠券代码提交按钮损坏。 人们无法通过单击“应用优惠券”按钮来提交优惠券代码。 他们必须按回车键。 我找不到产生错误的JavaScript。

任何解决方案。

我发现解决的方法很简单。

找到讨厌的代码:

<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”,错误似乎可以自行纠正。 删除类型后,按钮神奇地再次开始工作! 我知道这种治疗症状不是问题,但是嘿,它有效。

** 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>

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

Bhavesh在此处发布的解决方案似乎很快,但始终无法正常工作。

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

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

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

  1. 使用jQuery冲突解决选项,并为调用jquery分配除“ $”以外的其他任何变量。 例如: $(".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>

@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>

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM