在Qualtrics中使用If / Else语句在JavaScript中设置嵌入式数据

问题描述

在Qualtrics中,我试图通过使用JavaScript中的if / else语句,根据是或否问题的答案设置两个嵌入式数据字段。我试图提供正确的代码,但是我对JS还是陌生的,我所提供的(如下所示)不起作用。这些字段不会填充。

我已经在调查流程的开头创建了嵌入式数据字段,所以我认为这不是问题。

 Qualtrics.SurveyEngine.addOnPageLoad(function() {
   if("${q://QID14/ChoiceGroup/SelectedChoices}"!="Yes") 
   {Qualtrics.SurveyEngine.setEmbeddedData("Active_Duty_Yes","X");
    Qualtrics.SurveyEngine.setEmbeddedData("Active_Duty_No","")}

  else if("${q://QID14/ChoiceGroup/SelectedChoices}"!="No") 
  {Qualtrics.SurveyEngine.setEmbeddedData("Active_Duty_No","X");
   Qualtrics.SurveyEngine.setEmbeddedData("Active_Duty_Yes","")};
       
});

解决方法

您的onload函数名称错误。应该是addOnload而不是addOnPageLoad。

其他一些建议:

  1. 通常最好使用recodes代替字符串 逻辑(例如,“ $ {q:// QID14 / SelectedChoicesRecode}”!=“ 1”)。那样 如果您更改选择文本,则逻辑无需更改。
  2. 通常最好将嵌入式数据标志的值设置为1和0。