研究プロジェクトでは、QualtricsのJavascript機能を使用してタイマーを実装しようとしています。時間を追跡し、複数のページにわたるサブジェクトに表示します。Qualtricsでマルチページタイマーを実装する
私のコードの一般的な考え方は、複数のページにわたる時間切れのカウントダウンを追跡することです。すなわち、私は一連のタスクをそれぞれ個別のページに持っていますが、同じブロックに入れています。新しいページが読み込まれるたびにどれくらいの時間が残っているかを表示したいと思います。
これを行うには、最初にいくつかの埋め込みデータフィールド "timeleftrounded"と "start time"を定義し、後で割り当てる値を残しました。
第2に、タイマーを開始したいページの直前に次のコードを置いています。私の意図は、埋め込まれたデータ「のstart_time」を定義するために、現在の時間に読むために、このコードのために私の仕事が始まる次のページ
Qualtrics.SurveyEngine.addOnload(function()
{
Event.observe($('NextButton'), 'click', function (e)
{
Qualtrics.SurveyEngine.setEmbeddedData("start_time", Date.now());
});
});
ある、と私は被験者が合計40分を持つようにしたいと、私は "持っています40分 "と書かれ、コードは必要ありません。しかし、その質問では、次のページをロードするボタンがクリックされたときの残りの時間(分)を計算するコードが増えています。
Qualtrics.SurveyEngine.addOnload(function()
{
Event.observe($('NextButton'), 'click', function()
{
var timeleftrounded = (2400000- (Date.now() - Number("${e://Field/start_time}")))/60000;
Qualtrics.SurveyEngine.setEmbeddedData("timeleftrounded",timeleftrounded);
});
});
次のページでは、最初の小数点以下にこの変数を丸める「timeleftrounded」を次のコードを使用し、被験者にそれを表示し、私の混乱が始まるのはここ
$e{ round(e://Field/timeleftrounded , 1) }
です:このコードの作品が、私は完全な調査プレビューモードを使用するか、(私がコピーを作った)調査を起動するとき、私が "ブロックを見る..."機能を使用するときに正しく、私は間違った答えを与えない限りタイマーは動作しません - 質問すると、「0」と表示されます。各ページには妥当性検査の質問があります。一度誤った答えを与えてしまえば、もう一度タイマーが動作しますが、正解のみを返すとタイマーは動作しません。
私は明らかに何かが不足していることを願っていますが、私は解決策をオンラインで見つけることができませんでしたので、これは他の人々も興味を持っているかもしれないと考えました。