2015-05-29 4 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) { 

В качестве альтернативы, вы можете получить id Недвижимость от объекта jQuery с использованием prop():

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

использование attr получить значение ID

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

ПРИМЕЧАНИЕ: Вы можете получить любое значение атрибута с помощью этого метода

См jQuery Docs для получения дополнительной информации

Смежные вопросы