Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/380.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Qualtrics——将变量另存为答案_Javascript_Qualtrics - Fatal编程技术网

Javascript Qualtrics——将变量另存为答案

Javascript Qualtrics——将变量另存为答案,javascript,qualtrics,Javascript,Qualtrics,我试图实现一些自定义javascript,以便保存一个初始化的变量,作为特定问题的答案 我创建了一个选择题,并将其限制为一个可能的答案:“保存响应”。 我实现了以下代码,试图将字符串变量保存为问题的答案: this.questionclick = function(event,element) { var toSave = "save this string"; this.setChoiceValue(1, toSave); } 但是,这并不是将变量“toSave”保存到问题中。

我试图实现一些自定义javascript,以便保存一个初始化的变量,作为特定问题的答案

我创建了一个选择题,并将其限制为一个可能的答案:“保存响应”。 我实现了以下代码,试图将字符串变量保存为问题的答案:

  this.questionclick = function(event,element) {
  var toSave = "save this string";
  this.setChoiceValue(1, toSave);
}

但是,这并不是将变量“toSave”保存到问题中。
关于qualtrics API的文档非常少,所以我希望这里有人遇到了这个问题,可以提供一个示例解决方案。

您不能通过JavaScript更改答案选项的文本值。Qualtrics保留服务器端

您可以做相反的事情,将答案选项的文本值设置为“savethistring”,然后在问题加载时使用JavaScript将标签从“savethistring”更改为“saveresponses”。jfe下的html结构略有不同,因此需要对此进行说明

Qualtrics.SurveyEngine.addOnload(function() {
    var jfe = false;
    if(window.location.pathname.match(/^\/jfe/)) jfe = true;

    var downArg = 0;
    if(jfe) downArg++;

    $(this.questionId).down('.LabelWrapper').down(downArg).update("Save responses");
});
编辑: 要回答下面评论中的问题-如果您想在Qualtrics中保存JavaScript变量,请首先在调查流中初始化变量,然后将其保存在JavaScript中,如下所示:

Qualtrics.SurveyEngine.setEmbeddedData('myvar', value);

谢谢你的回复。当我为我的调查修改代码时,我得到一个错误,因为$(this.questionId).down('.LabelWrapper')未定义,所以该行的其余部分不起作用。“向下”命令到底是什么?根据javascript API,$(this.questionId)返回一个字符串。不,this.questionId是一个字符串(问题id)$(this.questionId)返回question元素(一个div),然后向下搜索question元素内的DOM树,并返回带有类LabelWrapper的第一个元素。最后,下一个向下从第一个LabelWrapper元素(包含标签的元素)向下1(如果SE)或2(如果JFE)级。这假设您有一个带有一个选项的多项选择题。这对我来说很好。只要你有一个至少有一个选择的MC,你就应该有一个LabelWrapper类的元素;我已经得到了显示在单选按钮旁边的变量,但是当我提交调查时,新变量——选项文本更改为的变量——没有保存;相反,它只是保存了我给单选按钮起的名字。你做了什么调整了吗?