2016-06-15 31 views
5

Chcę wyodrębnić atrybut "wartość" z pola wyboru, który umożliwia użytkownikom wybranie liczby ilości konkretnego elementu na mojej stronie internetowej.Nie można wyodrębnić atrybutu "wartość" z pola +/- DOM DOM

Jestem początkującym zarówno dla JavaScript, jak i HTML. Kiedy zrobić „Zbadaj element” Widzę atrybut w elemencie

<input size="2" type="text" autocomplete="off" class="cart_quantity_input form-control grey" value="2" name="quantity_8329349_28095_0_12035"> 

Ale gdy próbuję wykonać jedną z następujących dwóch, Menedżer tagów Google mówi, że zmienna jest undefined

document.querySelectorAll("input.cart_quantity_input.form-control.grey").value 

OR

document.querySelectorAll("input.cart_quantity_input.form-control.grey").getAttribute("value") 

URL transakcja zamówienie jest www.decathlon.in/order

+1

Możesz użyć zmiennej typu DOM GTM, która a) zwróci pierwsze dopasowanie, jeśli istnieje kilka dopasowań, a b) oznacza, że ​​musisz napisać własny JS (co jest pewnym punktem w GTM). Możesz go skonfigurować, aby zwracał wartość danego atrybutu. –

Odpowiedz

3

querySelectorAll zwraca listę węzłów. Musisz albo:

  • pobierania danego elementu o indeksie z listy:

    document.querySelectorAll("input.cart_quantity_input.form-control.grey")[0].value 
    
  • korzystanie querySelector wybrać tylko jeden element:

    document.querySelector("input.cart_quantity_input.form-control.grey").value 
    
+0

Właśnie zrobiłem pierwszą (trafienie i próbę) zanim zobaczyłem tę odpowiedź. Ale drugi wydaje się bardziej skuteczny. Dzięki Rory! –

0

Rejestracja używasz Menedżera tagów Google, dlaczego nie używać go do tego, do czego został przeznaczony (co ma na celu nieco zwolnić Cię z kodowania)? Oto rozwiązanie, które nie wymaga kodu i wykorzystuje GTM wbudowanej zmiennej DOM:

GTM DOM Variable

Można ustawić go do powrotu atrybut value podstawie selektora CSS dla elementu input.

+0

To też jest dobre. Dzięki nyuen. –