【问题标题】:Using Javascript with embedded Qualtrics variables使用带有嵌入式 Qualtrics 变量的 Javascript
【发布时间】:2021-02-26 05:47:50
【问题描述】:

我正在使用 Qualtrics 收集与行为经济学相关的实验数据。

我需要为受访者提供预算,然后在他们花费的整个调查过程中更新预算。

我编写了一个玩具示例来尝试在此处获取 javascript。在他们将预算用于某个问题后,我无法更新预算。

这里是问题和底层的 javascript。 谁能确定我哪里出错了?

第 0 步:我在调查开始时将嵌入数据字段“预算”设置为 100 美元。

第 1 步:我显示第一页。

*Q1:您的预算是 ${e://Field/Budget} 这显示正确。

*Q2:要花多少钱? (打开文本字段,验证为数字。)

Javascript:

{
    
});

Qualtrics.SurveyEngine.addOnReady(function()
{

});

Qualtrics.SurveyEngine.addOnPageSubmit(function(type)
{
    if(type == "next")
    {
            var prevbudget = Qualtrics.SurveyEngine.getEmbeddedData("Budget");
            var prevbudget = parseInt(prevbudget);  
            console.log(prevbudget);
            //var temp = Qualtrics.SurveyEngine.getTextValue("QID2");  //creates an error
            var temp = "${q://QID2/ChoiceTextEntryValue}" 
            console.log(temp) //null
            var temp = parseInt(temp)
            var budget = prevbudget-temp;
            Qualtrics.SurveyEngine.setEmbeddedData('Budget', budget);
    }
});


Qualtrics.SurveyEngine.addOnUnload(function()
{
});

第 2 步:显示带有更新信息的下一页。

*Q3:您的预算为 ${e://Field/Budget}。 不显示

您之前花费了 ${q://QID2/ChoiceTextEntryValue}。 显示正确

*Q4:要花多少钱? (打开文本字段,验证为数字。)

...理想情况下,该过程会继续进行更多问题,询问支出和显示预算。

在我看来,我对 Qualtrics API 或 javascript 的理解有问题。有什么想法吗?

【问题讨论】:

    标签: javascript qualtrics


    【解决方案1】:

    有几点:

    1. 在页面发送到浏览器之前解析管道。因此,您无法通过管道传递当前页面中的值。
    2. 您的预算必须是一个数字。在前面添加 '$' 使其成为字符串。

    更新的代码(假设预算是一个数字,文本输入是一个数字):

    Qualtrics.SurveyEngine.addOnPageSubmit(function(type) {
        if(type == "next") {
                var prevbudget = parseInt("${e://Field/Budget}");  
                var temp = parseInt(jQuery("#"+this.questionId+" .InputText").val()); 
                var budget = prevbudget-temp;
                Qualtrics.SurveyEngine.setEmbeddedData('Budget', budget);
        }
    });
    

    【讨论】:

      猜你喜欢
      • 2012-02-03
      • 2017-09-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-06-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多