Qualtrics javascript代码仅在“;观看块”;,而不是在启动调查时

Qualtrics javascript code only works when "viewing block", not when launching survey

本文关键字:启动 调查 代码 javascript Qualtrics      更新时间:2023-11-28

我在Qualtrics调查中创建了一个在一个屏幕上有多个输入单元格的表格。输入单元格是使用html手动创建的,而不是Qualtrics使用的标准输入框,因为需要输入框的显示方式。

我一直在尝试使用javascript和jquery来根据用户在单元格中输入的内容设置嵌入数据。当用户在单元格中写入内容后再次单击单元格时,我可以将嵌入的数据设置为记录,但我希望在他们在所有输入单元格中完成写入后嵌入数据,然后单击下一个按钮。

我使用以下代码进行"点击"嵌入:

Qualtrics.SurveyEngine.addOnload(function ()
{
this.questionclick = function(event,element){
var c = document.getElementById("cash").value;
Qualtrics.SurveyEngine.setEmbeddedData("chours", c);
}
});

以及以下代码,用于在单击下一个按钮时嵌入数据:

Qualtrics.SurveyEngine.addOnload(function ()
{
jq("form").submit(function(event,element){
var c = document.getElementById("cash").value;
Qualtrics.SurveyEngine.setEmbeddedData("chours", c);
}
)});

我也试过使用这个.clickNext按钮,但不起作用。我的问题是,当我在问答中预览/查看单个问题块时,我可以获得要嵌入的数据,但一旦我启动调查并尝试真实运行,它就不会起作用。

我认为问题在于,qualtrics在尝试处理JavaScript之前首先处理下一个按钮,至少当您尝试运行真实的调查而不仅仅是预览时是这样。

解决这个问题的一种方法可能不是最优雅的,那就是在HTML中创建另一个名为"提交"或类似的按钮,并隐藏下一个按钮。现在,您可以为"提交"按钮设置JavaScript,以像以前一样保存答案,然后设置一个命令,将下一张幻灯片作为同一JavaScript中的最后一行继续播放。

您需要使用:

.hideNextButton();

.clickNextButton();

希望这能有所帮助,Felix