2017-10-17 33 views
0

我一直在为此付出很多努力,终于有了一半的解决方案,但没有剩下的解决方案。Qualtrics通过创建新按钮将文本输入存储到嵌入数据

基本上,我需要Qualtrics受访者将内嵌数字输入到文本框中,并且我希望将该输入存储为嵌入数据。

到目前为止,在Qualtrics页面的HTML,我有

Enter data here: <input type="text" id="myText" value=" "> 
<input type="submit" value="Confirm" onclick="formdata()"/> 

<script> 
function formdata(){ 
var questionanswer= document.getElementById("myText").value; 
Qualtrics.SurveyEngine.setEmbeddedData("Q1input", questionanswer); 
} 
</script> 

这工作得很好。它创建了可输入“myText”的文本框,然后将其存储为Embedded Data Q1input,然后我可以稍后访问它。但是,这很麻烦,因为他们必须单击我创建的“确认”按钮,然后使用普通的Qualtrics Next Page按钮离开页面。我这样做是因为当点击Qualtrics下一步按钮时运行它,所以我不能让它工作,所以我必须让它在我自己的按钮上运行。

我试着禁用下一页按钮使用disableNextButton和clickNextButton Qualtrics代码,但我不知道该把它放在哪里。我可以通过将代码放入addOnload部分来禁用NextButton,但我似乎无法让clickNextButton在formdata函数中运行。

任何帮助将不胜感激!我真的不知道JavaScript;我只是试图挑选它来进行调查。

回答

1

处理此问题的最简单方法实际上只是在文本输入字段更改时调用您的函数。由于Qualtrics包括PrototypeJS,您可以使用以下命令:

Enter data here: <input type="text" id="myText" value=" "> 

<script> 
function formdata(){ 
var questionanswer= document.getElementById("myText").value; 
Qualtrics.SurveyEngine.setEmbeddedData("Q1input", questionanswer); 
} 

$('myText').observe('change', formdata()); 
</script> 

两种思想在这里:

  1. 你应该包括在你的问题的JavaScript部分你的脚本,而不是HTML edditor。它属于addOnReady部分。

    Qualtrics.SurveyEngine.addOnReady(函数() { 功能FORMDATA(){ VAR问题答案=的document.getElementById( “会将myText”)值; Qualtrics.SurveyEngine.setEmbeddedData( “Q1input”,问题答案); }

    $('myText')。observe('change',formdata()); });

  2. 通过在Qualtrics中使用文本输入问题类型,然后使用管道文本将其添加到调查流中的嵌入数据字段中,可以达到相同的效果。

相关问题