Как я могу получить значение <input>в ответ на Shopify? - PullRequest
0 голосов
/ 17 апреля 2020

Я хочу добавить управление тегами Google в продукт для лучшего управления. Поэтому я хочу получить продукты, которые покупают клиенты. Но когда я хочу получить номер продукта, я не знаю, как получить его быстро. Поэтому каждый раз, когда пользователь меняет номер, я могу его получить. Это код, который предоставляет Shopify:

<div class="product-form__item product-form__item--quantity">
  <label for="Quantity-{{ section.id }}">{{ 'products.product.quantity' | t }}</label>
  <input type="number" id="Quantity-{{ section.id }}" name="quantity" value="1" min="1" class="product-form__input" pattern="[0-9]*" data-quantity-input>
</div>

Это данные, которые я хочу получить:

<button onclick="dataLayer.push{"event":"addTocart","currencyCode":"",'products': [{
  "id": "{{product.id}}",
  "name": "{{ product.title }}",
  "price": {{ product.price | divided_by: 100.00 | json }},
  "quantity": {{data-quantity-input}}}]}" 
  type="submit" 
  name="add"
  {% unless current_variant.available %} aria-disabled="true"{% endunless %}
  aria-label="{% unless current_variant.available %}{{ 'products.product.sold_out' | t }}{% else %}{{ 'products.product.add_to_cart' | t }}{% endunless %}"
  class="btn product-form__cart-submit{% if section.settings.enable_payment_button %} btn--secondary-accent{% endif %}"
  data-add-to-cart>

1 Ответ

0 голосов
/ 18 апреля 2020

Полагаю, вам нужно использовать следующий атрибут onclick:

<button 
  onclick='dataLayer.push({"event":"addTocart","currencyCode":"","products": [{
    "id": "{{product.id}}",
    "name": "{{ product.title }}",
    "price": {{ product.price | divided_by: 100.00 | json }},
    "quantity": document.querySelector("[data-quantity-input]").value}]})'
  ...
  other element attirubtes
  ...
>Add</button>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...