2016-06-15 4 views
5

Ich möchte das Attribut "value" aus der Auswahlbox extrahieren, mit dem Benutzer die Anzahl der Mengen eines bestimmten Artikels auf meiner Website auswählen können.Attribut "value" kann nicht aus +/- Box extrahiert werden DOM-Element

Ich bin ein Neuling zu Javascript und HTML. Wenn ich ein „Inspect Element“ Sie kann ich das Attribut in dem Element sehen

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

Aber wenn ich versuche, eine der folgenden zwei, Google Tag Manager zu tun, sagt die Variable undefined

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

OR

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

Der Bestellvorgang URL ist www.decathlon.in/order

+1

Sie können GTMs DOM Typ Variable verwenden, die a) die erste Übereinstimmung zurückgibt, wenn es mehrere Übereinstimmungen gibt und b) bedeutet, dass Sie Ihre eigenen JS schreiben müssen (was der Punkt mit GTM ist). Sie können konfigurieren, dass der Wert eines bestimmten Attributs zurückgegeben wird. –

Antwort

3

querySelectorAll gibt eine Liste der Knoten zurück. Sie müssen entweder:

  • das entsprechende Element von Index aus der Liste abrufen:

    document.querySelectorAll("input.cart_quantity_input.form-control.grey")[0].value 
    
  • Verwendung querySelector nur ein einzelnes Element wählen:

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

Ich habe gerade den ersten (Hit und Trial) gemacht, bevor ich diese Antwort gesehen habe. Aber der zweite scheint effektiver zu sein. Danke Rory! –

0

Seit Sie verwenden GTM, warum verwenden Sie es nicht für das, wofür es gedacht war (was soll Sie etwas vom Codieren entlasten)? Hier ist eine Lösung, die keinen Code und verwendet GTM-internen DOM Variable erfordert:

GTM DOM Variable

Sie können es die value Attribut basiert auf dem CSS-Selektor für das input Element zurückzukehren.

+0

Das ist auch gut. Danke Nyuen. –