2016-12-07 9 views
1

Qualtricsでキーボードプレスを録音するためのJavaScriptコードがいくつか用意されています。調査をプレビューするときにうまくいくと思われますが、配布調査リンクを使用するとすぐには機能しません。私はこのコードを使用していQualtrics Javascript keyboard presses

は、イベントの前に私は「X」でキーボードが押されたときのために録音したい:

Qualtrics.SurveyEngine.addOnload(function() 
 
{ 
 

 
Event.observe(document, 'keydown', function (e) { 
 
     
 
     switch (e.keyCode) { 
 
       case 88: // 'x' was pressed 
 
         var totalpresses = Qualtrics.SurveyEngine.getEmbeddedData("xhits"); 
 
     if (totalpresses == "NaN"){totalpresses=1;} 
 
     totalpresses = parseInt(totalpresses); 
 
         totalpresses = totalpresses + 1; 
 
     Qualtrics.SurveyEngine.setEmbeddedData("xhits",totalpresses); 
 
     } 
 
}); 
 
});

と私はイベントを次のために、このコードを使用しています:

Qualtrics.SurveyEngine.addOnload(function() 
 
{ 
 
     
 
     var totalpresses = Qualtrics.SurveyEngine.getEmbeddedData("xhits"); 
 
      Qualtrics.SurveyEngine.setEmbeddedData("finalxhits", totalpresses);

私はそれが私が必要とするセクションのために私に「xhits」を与えますが、私が調査をプレビューするときだけです。

「xhits」と「finalxhits」を作成するために調査フローに埋め込みデータを使用していますが、finalxhitsは値を表示していないようです(これは問題ではありません)。

私は非常にjavascriptに慣れているので、助けていただければ幸いです。

答えて

0

私は(私はそれを再作成しようとしていない)あなたの問題を引き起こしているかわからないんだけど、これを試してみてください。

Qualtrics.SurveyEngine.addOnload(function() 
 
{ 
 
var totalpresses = parseInt("${e://Field/xhits}"); 
 
if (isNaN(totalpresses)) totalpresses = 0; 
 
    
 
Event.observe(document, 'keydown', function (e) { 
 
     
 
     switch (e.keyCode) { 
 
       case 88: // 'x' was pressed 
 
         totalpresses = totalpresses + 1; 
 
         Qualtrics.SurveyEngine.setEmbeddedData("xhits",totalpresses); 
 
     } 
 
}); 
 
});
は、コードの2番目の部分は、その後の質問に取り付けたということです?どのような目的を果たしているのかは分かりませんが、調査フローでその割り当てを行うことができます:

finalxhits = ${e://Field/xhits}