Are there errors in my javascript? | XM Community
Question

Are there errors in my javascript?


Badge

I’d like to calculate the difference between two dates: the current date, and the date of an upcoming appointment. I want the difference in days to be set as embedded data. So in the Survey Flow, I created the "Days" embedded data field and applied the following javascript to the survey question that collects the upcoming appointment date (QID190). However, the "Days" column is not populating when I run preview tests. Can you help me identify my error(s)?
Date_Subtraction.png


3 replies

Userlevel 4
Badge +18

You can use the following code:

var startdmy = new Date("${q://QID8/ChoiceTextEntryValue/1}").getTime();
 var enddmy = new Date("${q://QID10/ChoiceTextEntryValue/2}").getTime();
    var diff = parseInt(enddmy - startdmy);
    var days = diff/1000/60/60/24;
    Qualtrics.SurveyEngine.setEmbeddedData("Days", days);

Badge

Thanks for the suggestion, Mishraji, but it didn't work. Could the issue be that one date includes hours and the other date does not?

Userlevel 4
Badge +18

CX_Research - That could be the reason. In the code that I shared, dates are in mm/dd/yyyy format.
Can you try to parseInt the diff in your code and try that?

Leave a Reply