2015-05-29 66 views
0

當網頁加載:添加到購物車按鈕 - 使用Javascript/JQuery的錯誤

Invalid App Id: Must be a number or numeric string representing the application id.

當加入購物車按鈕被點擊:

Uncaught TypeError: Cannot read property 'id' of undefined - (index):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); 

回答

1

$(button).id - 錯誤原因

$(button)是一個jQuery對象,使用$(button)[0].id$(button).prop('id')或只是button.id

1

假設按鈕是一個DOMElement你可以使用:

if (button.id.indexOf('ec_shortcut') != -1) { 

或者,你可以得到來自jQuery對象的id屬性使用prop()

if ($(button).prop('id').indexOf('ec_shortcut') != -1) { 
0

使用attr得到的id值

$(button).attr('id'); 

注:您可以使用此方法

jQuery Docs更多信息

得到任何屬性值
相關問題