Setting more than one embedded data variable using Javascript | XM Community
Question

Setting more than one embedded data variable using Javascript

  • 22 May 2019
  • 1 reply
  • 15 views

I've been trying to set embedded data from a loop and merge function. There are three fields in the loop and merge and I am trying to have all three set to three different variables. I am using the same code for all three, but only field 1 is setting. All of the embedded data variables I want to fill are labeled and empty at the top of the survey so that's not the problem. See code below:

Qualtrics.SurveyEngine.addOnload(function()
{
/*Place your JavaScript here to run when the page loads*/

});/*Place Your Javascript Below This Line*/
var questionText = "${lm://Field/1}"; // "${lm://Field/1}" will actually evaluate to
//whatever is Field 1 in the current Loop & Merge loop.
// You can do this with embedded data too, as seen in the next line
var order = "${e://Field/min_40}" + questionText; // gets the value of the embedded data
// field "preorder", concatenates the current loop's identifier to it,
//and stores that as a variable
Qualtrics.SurveyEngine.setEmbeddedData('min_40', order); // updates the
//embeddeddata field "preorder" to be our order variable, which has the current loop's
//identifier attached, effectively constructing a string of numbers representing the order

Qualtrics.SurveyEngine.addOnload(function()
{
/*Place your JavaScript here to run when the page loads*/

});/*Place Your Javascript Below This Line*/
var questionText = "${lm://Field3}"; // "${lm://Field/1}" will actually evaluate to
//whatever is Field 1 in the current Loop & Merge loop.
// You can do this with embedded data too, as seen in the next line
var order = "${e://Field/tot_seats_40}" + questionText; // gets the value of the embedded data
// field "preorder", concatenates the current loop's identifier to it,
//and stores that as a variable
Qualtrics.SurveyEngine.setEmbeddedData('tot_seats_40', order); // updates the
//embeddeddata field "preorder" to be our order variable, which has the current loop's
//identifier attached, effectively constructing a string of numbers representing the order

Qualtrics.SurveyEngine.addOnload(function()
{
/*Place your JavaScript here to run when the page loads*/

});/*Place Your Javascript Below This Line*/
var questionText = "${lm://Field2}"; // "${lm://Field/1}" will actually evaluate to
//whatever is Field 1 in the current Loop & Merge loop.
// You can do this with embedded data too, as seen in the next line
var order = "${e://Field/inverse_40}" + questionText; // gets the value of the embedded data
// field "preorder", concatenates the current loop's identifier to it,
//and stores that as a variable
Qualtrics.SurveyEngine.setEmbeddedData('inverse_40', order); // updates the
//embeddeddata field "preorder" to be our order variable, which has the current loop's
//identifier attached, effectively constructing a string of numbers representing the order

1 reply

I figured it out. I was missing a "/"

Leave a Reply