Javascript &引用;“添加到购物车”;按钮不存在';由于引用错误,无法工作
我有一个“添加到购物车”按钮在我的Magento主题,我没有编辑它,但它停止工作。它在一段时间前就起到了防御作用,不幸的是,我没有抓住事情出错的那一刻。当我按下按钮时,前端什么也没有发生,我在控制台中看到错误“UncaughtReferenceError:productAddToCartForm未定义” 以下是按钮HTML:Javascript &引用;“添加到购物车”;按钮不存在';由于引用错误,无法工作,javascript,magento,Javascript,Magento,我有一个“添加到购物车”按钮在我的Magento主题,我没有编辑它,但它停止工作。它在一段时间前就起到了防御作用,不幸的是,我没有抓住事情出错的那一刻。当我按下按钮时,前端什么也没有发生,我在控制台中看到错误“UncaughtReferenceError:productAddToCartForm未定义” 以下是按钮HTML: <button class="button btn-cart" title="Добавить в корзину" type="button" onClick="p
<button class="button btn-cart" title="Добавить в корзину" type="button" onClick="productAddToCartForm.submit(this)"><i class="icon-basket"></i>Добавить в корзину</button>
<代码>ббббззз
但是,当我查看页面源代码时,脚本位于页面中:
<script type="text/javascript">
//<![CDATA[
var productAddToCartForm = new VarienForm('product_addtocart_form');
<?php if(Mage::getStoreConfig('buyshopconfig/options/ajax_add_to_cart')){?>
productAddToCartForm.submit = function(button, url) {
if (this.validator.validate()) {
var form = this.form;
var oldUrl = form.action;
if (url) {
form.action = url;
}
var e = null;
// Start of our new ajax code
if (!url) {
url = jQuery('#product_addtocart_form').attr('action');
}
url = url.replace("checkout/cart","ajax/index"); // New Code
var data = jQuery('#product_addtocart_form').serialize();
data += '&isAjax=1';
jQuery('#preloader .loader').fadeIn(300);
try {
jQuery.ajax( {
url : url,
dataType : 'json',
type : 'post',
data : data,
success : function(data) {
jQuery('#ajax_loader').hide();
if(data.status == 'ERROR'){
alert(data.message);
}else{
jQuery('#preloader .loader').hide();
if(jQuery('.ul_wrapper.toplinks')){
jQuery('.shoppingcart').replaceWith(data.sidebar);
}
jQuery(".shoppingcart .fadelink").bind({
mouseenter: function(e) {
jQuery(this).find(".shopping_cart_mini").stop(true, true).fadeIn(300, "linear");
},
mouseleave: function(e) {
jQuery(this).find(".shopping_cart_mini").stop(true, true).fadeOut(300, "linear");
}
});
if(jQuery('#topline .links')){
jQuery('#topline .links').replaceWith(data.toplink);
}
jQuery('#preloader .inside').html('Товар "'data.name+'" был добавлен в вашу корзину');
jQuery('#preloader .message').fadeIn(300);
setTimeout(function(){
jQuery('#preloader .message').fadeOut();
},1500)
}
}
});
} catch (e) {
}
// End of our new ajax code
this.form.action = oldUrl;
if (e) {
throw e;
}
}
}.bind(productAddToCartForm);
<?php }else { ?>
productAddToCartForm.submit = function(button, url) {
if (this.validator.validate()) {
var form = this.form;
var oldUrl = form.action;
if (url) {
form.action = url;
}
var e = null;
try {
this.form.submit();
} catch (e) {
}
this.form.action = oldUrl;
if (e) {
throw e;
}
if (button && button != 'undefined') {
button.disabled = true;
}
}
}.bind(productAddToCartForm);
<?php } ?>
productAddToCartForm.submitLight = function(button, url){
if(this.validator) {
var nv = Validation.methods;
delete Validation.methods['required-entry'];
delete Validation.methods['validate-one-required'];
delete Validation.methods['validate-one-required-by-name'];
// Remove custom datetime validators
for (var methodName in Validation.methods) {
if (methodName.match(/^validate-datetime-.*/i)) {
delete Validation.methods[methodName];
}
}
if (this.validator.validate()) {
if (url) {
this.form.action = url;
}
this.form.submit();
}
Object.extend(Validation.methods, nv);
}
}.bind(productAddToCartForm);
<?php if(!Mage::helper('lightboxes')->isActive()):?>
jQuery("a.video").click(function() {
jQuery.fancybox({
'padding' : 0,
'autoScale' : false,
'transitionIn' : 'none',
'transitionOut' : 'none',
'title' : this.title,
'width' : 680,
'height' : 495,
'href' : this.href.replace(new RegExp("watch\\?v=", "i"), 'v/'),
'type' : 'swf',
'swf' : {
'wmode' : 'transparent',
'allowfullscreen' : 'true'
}
});
return false;
});
<?php endif;?>
//]]>
//
productAddToCartForm.submit=函数(按钮,url){
if(this.validator.validate()){
var form=this.form;
var oldUrl=form.action;
如果(url){
form.action=url;
}
var e=null;
//新ajax代码的开始
如果(!url){
url=jQuery('#product#addtocart_form').attr('action');
}
url=url.replace(“checkout/cart”、“ajax/index”);//新代码
var data=jQuery(“#product_addtocart_form”).serialize();
数据+='&isAjax=1';
jQuery('#preload.loader').fadeIn(300);
试一试{
jQuery.ajax({
url:url,
数据类型:“json”,
键入:“post”,
数据:数据,
成功:功能(数据){
jQuery('#ajax_loader').hide();
如果(data.status=='ERROR'){
警报(数据、消息);
}否则{
jQuery('#preload.loader').hide();
if(jQuery('.ul_wrapper.toplinks')){
jQuery('.shoppingcart').replaceWith(data.sidebar);
}
jQuery(“.shoppingcart.fadelink”).bind({
鼠标指针:函数(e){
jQuery(this).find(“.shopping\u cart\u mini”).stop(true,true).fadeIn(300,“linear”);
},
鼠标移动:功能(e){
jQuery(this).find(“.shopping\u cart\u mini”).stop(true,true).fadeOut(300,“linear”);
}
});
if(jQuery('#topline.links')){
jQuery('#topline.links').replaceWith(data.toplink);
}
jQuery('#preload.inside').html('titааааааааааааааааааа;
jQuery('#preload.message').fadeIn(300);
setTimeout(函数(){
jQuery('#preload.message').fadeOut();
},1500)
}
}
});
}捕获(e){
}
//我们的新ajax代码到此结束
this.form.action=oldUrl;
如果(e){
投掷e;
}
}
}.bind(productAddToCartForm);
productAddToCartForm.submit=函数(按钮,url){
if(this.validator.validate()){
var form=this.form;
var oldUrl=form.action;
如果(url){
form.action=url;
}
var e=null;
试一试{
这个.form.submit();
}捕获(e){
}
this.form.action=oldUrl;
如果(e){
投掷e;
}
如果(按钮和按钮!=“未定义”){
button.disabled=true;
}
}
}.bind(productAddToCartForm);
productAddToCartForm.submitLight=函数(按钮,url){
if(此.validator){
var nv=验证方法;
删除验证方法['required-entry'];
删除验证。方法['validate-one-required'];
删除验证。方法['validate-one-required-by-name'];
//删除自定义日期时间验证器
for(Validation.methods中的var methodName){
if(methodName.match(/^validate datetime-.*/i)){
删除Validation.methods[methodName];
}
}
if(this.validator.validate()){
如果(url){
this.form.action=url;
}
这个.form.submit();
}
扩展(验证方法,nv);
}
}.bind(productAddToCartForm);
jQuery(“a.video”)。单击(函数(){
jQuery.fancybox({
“填充”:0,
“自动缩放”:false,
“transitionIn”:“无”,
“transitionOut”:“无”,
“title”:this.title,
“宽度”:680,
‘高度’:495,
'href':this.href.replace(新的RegExp(“watch\\?v=,“i”),'v/'),
“类型”:“swf”,
“swf”:{
'wmode':'transparent',
“allowfullscreen”:“true”
}
});
返回false;
});
//]]>
有人能回答这个函数有什么问题吗?在这一行(688)
您缺少一个+
jQuery('#preloader .inside').html('Товар "' + data.name + '" был добавлен в вашу корзину');
jQuery('#preloader .inside').html('Товар "' + data.name + '" был добавлен в вашу корзину');