加载网页时:
无效的应用ID:必须是表示应用ID的数字或数字字符串。
点击添加到购物车按钮时:
未捕获的TypeError:无法读取属性' id'未定义 - (索引):459
以下是Javascript,我在(索引)标记了"ERROR LINE"
的区域:459
var productAddToCartForm = new VarienForm('product_addtocart_form');
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;
if ($(button).id.indexOf('ec_shortcut') != -1) { // -ERROR LINE
try {
this.form.submit();
return;
} catch (e) {}
}
if (!url) {
url = jQuery('#product_addtocart_form').attr('action');
}
url = url.replace("checkout/cart", "oxajax/cart");
url = url.replace("wishlist/index/cart", "oxajax/cart/add");
var data = jQuery('#product_addtocart_form').serialize();
data += '&isAjax=1';
if ('https:' == document.location.protocol) {
url = url.replace('http:', 'https:');
}
jQuery.fancybox.showActivity();
jQuery.ajax({
url: url,
dataType: 'jsonp',
type: 'post',
data: data,
success: function(data) {
Olegnax.Ajaxcart.helpers.showMessage(data.message);
Olegnax.Ajaxcart.helpers.cartSuccessFunc(data);
}
});
this.form.action = oldUrl;
if (e) {
throw e;
}
}
}.bind(productAddToCartForm);
答案 0 :(得分:1)
$(button).id
- 错误原因
$(button)
是一个jQuery对象,使用$(button)[0].id
或$(button).prop('id')
或仅button.id
答案 1 :(得分:1)
假设按钮是DOMElement,您可以使用:
if (button.id.indexOf('ec_shortcut') != -1) {
或者,您可以使用id
从jQuery对象获取prop()
属性:
if ($(button).prop('id').indexOf('ec_shortcut') != -1) {
答案 2 :(得分:0)
试试这个:button.id.indexOf('ec_shortcut')
答案 3 :(得分:0)