And*_*req 2 javascript merge logic loops qualtrics
我目前正在进行一项 Qualtrics 调查,其中受访者必须解决一长串字谜,然后回答一些人口统计问题。
为了使字谜部分更容易,我使用了循环和合并块:第一个字段是要解决的字谜,第二个字段是字谜的解决方案,因此调查可以根据答案检查受访者的答案每个字谜的解决方案。
实际上,该调查运行良好:但是,我希望通过在响应字段中键入“EXIT”来允许受访者提前退出循环,并将他们重定向到下一个问题块(人口统计问题)。
这通常是使用“跳过”逻辑实现的:但是,跳到块的末尾并不能解决问题(循环重新启动)。我设法将它们重定向到调查的末尾,但没有重定向到人口统计问题块。
有没有办法使用javascript跳转到人口统计块或退出循环并过早合并块?我是否缺少可以解决问题的 Qualtrics 选项?
如果这仍然与您相关:我需要相同的功能,这就是我解决它的方法:首先,我定义了一个辅助变量,调用它EndLoop,我将其初始化为 0。然后我设置了一个函数来更改 EndLoop 的值在人们点击按钮后到 1,另外我在循环中的问题中添加了一个显示逻辑,仅当 EndLoop 仍然为 0 时才显示它们,并在 EndLoop 为 1 时隐藏问题。
这是分步说明以及 javascript 和 html 代码。
大胆的东西是你需要做的,项目符号是一个更详细的说明如何去做。
1. 在循环和合并之前定义一个名为的嵌入数据字段EndLoop并将其初始化为 0。
2. 为循环中的每个项目设置一个显示逻辑,以在 'EndLoop' = 0 条件下显示它们
EndLoop+ 选择“等于”+ 输入 0 作为值3. 将自定义按钮插入人们应该能够选择退出的页面。该按钮运行一个名为 setEndLoop() onclick 的用户定义函数。
我使用的代码是:
<input id="css-class-mybutton" onclick="setEndLoop()" value=" done " type="button">
Run Code Online (Sandbox Code Playgroud)如果要更改按钮文本,请更改“完成” value = " done "
4. 使用自定义 javascript 定义函数 setEndLoop() 将 EndLoop 的值更改为 1 并模拟下一个按钮单击
我使用的代码是:
/* Get the EndLoop variable */
var EndLoop = "${e://Field/EndLoop}";
Qualtrics.SurveyEngine.addOnload(function(){
/* hide previous and next button */
$('NextButton') && $('NextButton').hide();
$('PreviousButton') && $('PreviousButton').hide();
/* Function: on click on user-defined button -> change the field EndLoop */
var that = this;
setEndLoop = function(){
Qualtrics.SurveyEngine.setEmbeddedData('EndLoop', 1);
that.clickNextButton();
};
});
Run Code Online (Sandbox Code Playgroud)
该按钮将没有默认样式,因此,定义一个自定义 css 来设置按钮样式,使其看起来像您的主题按钮。我在这里id="css-class-mybutton"使用的按钮的类名是,.css-class-mybutton{ ... }在 css 中使用。
希望有帮助。
| 归档时间: |
|
| 查看次数: |
2179 次 |
| 最近记录: |