【问题标题】:Need help implementing Javascript calculation into Qualtrics需要帮助在 Qualtrics 中实现 Javascript 计算
【发布时间】:2017-10-08 01:39:36
【问题描述】:

我在 Qualtrics 中实现此代码时遇到问题。现在,我已将调查流中的这两个嵌入式数据字段创建到块中,其中包含我想要计算的响应:“Lambda_Block_1”和“Lambda_Mat”。

在我用矩阵表问了一系列问题后,我做了一个分页符。 然后我的下一个问题是占位符/计时窗口。在这个问题中,我放置了这个 Javascript:

Qualtrics.SurveyEngine.addOnload(function()
{
var block_1= [parseInt("${q://QID664/SelectedAnswerRecode/1}"),
  parseInt("${q://QID664/SelectedAnswerRecode/2}"),
  parseInt("${q://QID664/SelectedAnswerRecode/3}"), 
  parseInt("${q://QID664/SelectedAnswerRecode/4}"), 
  parseInt("${q://QID664/SelectedAnswerRecode/5}"), 
  parseInt("${q://QID664/SelectedAnswerRecode/6}"), 
  parseInt("${q://QID664/SelectedAnswerRecode/7}"), 
  parseInt("${q://QID664/SelectedAnswerRecode/8}"), 
  parseInt("${q://QID664/SelectedAnswerRecode/9}"), 
  parseInt("${q://QID664/SelectedAnswerRecode/10}")];

var lambda_mat
lambda_mat= [.7, .9, 1.1, 1.3, 1.5, 1.7, 1.9, 2.1, 2.3];    
lambda_mat.reverse();

  for(i=0;i<lambda_mat.length;i++) {
switchpoints[i] = switchpoints[i] * lambda_mat[i];
}  
var filtered_switchpoint
filtered_switchpoint= switchpoints.filter(0);

var lambda_block_1  
if (switchpoints.allValuesSame() == true || filtered_switchpoint.length              >1){
lambda_block_1=0;
}else{
lambda_block_1= filtered_switchpoint;
}
Qualtrics.SurveyEngine.setEmbeddedData("Lambda_Block_1",lambda_block_1); 
});

我需要帮助在 Qualtrics 中运行它。 有谁知道为什么这不起作用? Javascript 编码错误?

【问题讨论】:

  • 代码不工作不是解释...
  • @dda 我编辑了我的评论以便更清楚。谢谢。

标签: javascript qualtrics


【解决方案1】:

您有几个语法错误:

  • 第一行中缺少 parseInt 和引号
  • 三个位置缺少命令分号结尾
  • 不匹配 });在最后一行(但也许您只是没有在顶部包含 addOnLoad 行)。

另外,lambda_mat 是一个数组。要使 setEmbeddedData 正常工作,您需要先将其转换为逗号分隔的字符串。 Lambda_Block_1 和 Lambda_Mat 都必须在使用 JavaScript 提问之前在调查流程中定义。

您应该考虑学习使用浏览器开发工具调试器。

【讨论】:

  • 我想知道我是否在正确的地方调用它。在第一个块中,我在 Survey Flow 中初始化变量 Lambda_Block_1。然后在第二个块中,第一个问题是矩阵表(我想用来做数学运算的数据),然后是一个分页符,一个带有文本的页面,然后是一个分页符,然后是一个带有文本的页面——这是我运行的地方的JavaScript。这听起来好吗?
  • 在 var lambda_mat 和 var filtered_switchpoint 之后仍然缺少分号。你在哪里运行听起来不错。
  • 我创建了一个简短的版本并正在接受调查。当我运行调查时,变量 Lambda_Block_1 为空。
  • 有没有办法让我分享这两个区块?
猜你喜欢
  • 2012-10-03
  • 1970-01-01
  • 1970-01-01
  • 2013-02-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-07-12
相关资源
最近更新 更多