Your achievements

Level 1

0% to

Level 2

Tip /
Sign in

Sign in to Community

to gain points, level up, and earn exciting badges like the new
BedrockMission!

Learn more

View all

Sign in to view all badges

SOLVED

Adobe Launch: Rule to Capture ID for a Clicked Checkbox

eham06
Level 4
Level 4

I have a series of check boxes. See source HTML below.

When the checkbox is clicked, I want Adobe Launch to capture the "id" and push into Adobe Analytics which clicked without having to wait for a pageload.

I have configured a rule to capture "id" for element "input" on mouse click.

However, the rule captures the 1st element "input" not the "input" which was clicked.

How do you configure a rule to capture the id for a clicked checkbox?

Can this be done without custom Javascript?

<input type="checkbox" id="Return3year" name="performance_returnsThreeYears" class=" skitchen-menu-input" value="performance_returnsThreeYears" data-bind="checked: orders().indexOf(&quot;performance_returnsThreeYears&quot;) >= 0">

<input type="checkbox" id="Return5year" name="performance_returnsFiveYears" class=" skitchen-menu-input" value="performance_returnsFiveYears" data-bind="checked: orders().indexOf(&quot;performance_returnsFiveYears&quot;) >= 0">

<input type="checkbox" id="Return10year" name="performance_returnsTenYears" class=" skitchen-menu-input" value="performance_returnsTenYears" data-bind="checked: orders().indexOf(&quot;performance_returnsTenYears&quot;) >= 0">

1 Accepted Solution
eham06
Correct answer by
Level 4
Level 4

I figured it out...

This will capture the current value of ID on each click...

temp1.png

View solution in original post

7 Replies
jantzen_belliston-Adobe
Community Manager
Community Manager

Can you post a screenshot of how you've configured the rule? I'm not sure if this can be done in the interface, but it could definitely be done with some custom JavaScript.

eham06
Correct answer by
Level 4
Level 4

I figured it out...

This will capture the current value of ID on each click...

temp1.png

View solution in original post

jantzen_belliston-Adobe
Community Manager
Community Manager

I'm glad you were able to figure it out. i was going to suggest looking into the "this" keyword for JavaScript/jQuery.

Locutus243
Level 3
Level 3

How did you specify the %this.id% data element?

eham06
Level 4
Level 4

No, I did not specify this %this.id% as a data element.

Thanks

saml9443
Level 2
Level 2

My best solution has been to create a data element with the custom code below which allows me to loop through each item with the <a> tag, find the index of the onclick, and return the text value.

 

It's interesting to see "this" being used - I'll have to give that a try!

 

 

var pageItemA = document.getElementsByTagName('a');
for (var pageItemAi = 0, len = pageItemA.length; pageItemAi<len; pageItemAi++) 
{ 
  (function(index) { 
    pageItemA[pageItemAi].onclick = function() {
      var pageSelectionA = document.getElementsByTagName('a')[index].textContent;
      _satellite.track("pageItemClick",{pageItem: pageSelectionA});
    } 
  }) (pageItemAi); 
}