2016-06-15 45 views
5

Desidero estrarre l'attributo "valore" dalla casella di selezione che consente agli utenti di selezionare il numero di quantità di un determinato elemento sul mio sito web.Impossibile estrarre l'attributo "valore" dall'elemento +/- box DOM

Sono un principiante di Javascript e HTML. Quando faccio un "Inspect Element" Posso vedere l'attributo nell'elemento

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

Ma quando cerco di fare una delle seguenti due, Google Tag Manager dice la variabile è undefined

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

O

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

L'URL transazione ordine è www.decathlon.in/order

+1

È possibile utilizzare la variabile del tipo DOM di GTM, che a) restituirà la prima corrispondenza se ci sono più corrispondenze eb) significa che è necessario scrivere il proprio JS (che è il tipo di punto con GTM). Puoi configurarlo per restituire il valore di un determinato attributo. –

risposta

3

querySelectorAll restituisce un elenco di nodi. È necessario uno:

  • recuperare l'elemento rilevante in base all'indice dalla lista:

    document.querySelectorAll("input.cart_quantity_input.form-control.grey")[0].value 
    
  • uso querySelector per selezionare solo un unico elemento:

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

Ho appena fatto il primo (hit e trial) prima di vedere questa risposta. Ma il secondo sembra più efficace. Grazie Rory! –

0

Dal stai usando GTM, perché non usarlo per ciò a cui è destinato (che è quello di alleviare un po 'dalla codifica)? Ecco una soluzione che non richiede alcun codice e utilizza di GTM variabile incorporata DOM:

GTM DOM Variable

È possibile impostare per restituire l'attributo value sulla base del selettore CSS per l'elemento input.

+0

Anche questo è buono. Grazie, nyuen. –