2017-10-31 15 views
0

次のスクリプトを書いて、各質問に対する回答者の反応時間を測定しました。私の質問はどのように私は反応時間を取得できますか?Qualtricsで反応時間を取得する

Qualtrics.SurveyEngine.addOnload(function(){ 
 

 
\t var starttime = new Date().getTime(); 
 

 
\t var that = this; 
 

 
\t this.hideNextButton(); 
 

 
\t this.questionclick = function(event,element){ 
 

 
\t \t if (element.type == 'radio') { 
 
\t \t \t var endtime = new Date().getTime(); 
 
\t \t \t var reactiontime = endtime - starttime; 
 
\t \t \t document.getElementById("QR~"+this.questionID).value = document.getElementById("QR~"+this.questionID).value + "X" + reactiontime + ","; 
 
\t \t } 
 
\t that.clickNextButton(); 
 
\t } 
 

 
});

+0

あなたの質問はあまり明確ではありません。それをどこから取得しますか? ( "QR〜" + this.questionID)が間違っています。それは( "QR〜" + that.questionId)でなければなりません。また、あなたの質問タイプが一致していません:element.type == 'radio'は1つの答えを複数選択すると仮定しますが、テキスト値を更新しようとします。あなたの返信のおかげで@ T.Gibbons。 –

+0

私はJSコードから検索したい、すなわちreactiontime = endtime - starttime;反応時間のデータのためにデータスプレッドシートに列を含めることが可能かどうかはわかりません。テキスト値を更新する代わりに、複数選択肢の値を更新するにはどうすればよいですか?お知らせ下さい。どうもありがとうございました! –

答えて

1

あなたは、埋め込まれたデータ変数に反応時間を節約することができます。質問ブロックの前に、調査フロー内の埋め込みデータ変数として反応時間を定義します。次に:

Qualtrics.SurveyEngine.addOnReady(function(){ 
    var starttime = new Date().getTime(); 
    $('NextButton').hide(); 

    this.questionclick = function(event,element){ 
     if (element.type == 'radio') { 
      var endtime = new Date().getTime(); 
      var reactiontime = endtime - starttime; 
      Qualtrics.SurveyEngine.setEmbeddedData('reactiontime', reactiontime); 
      $('NextButton').click();   
     } 
    } 

}); 
+0

ありがとうございます!できます! –

+0

素晴らしい!答えを受け入れてください。 –

関連する問題