2017-06-12 3 views
0

私はQualtricsで約200項目のアンケートをデザインしています。 各項目には1ページあたり1つの質問が表示されます。 回答をクリックしたときに自動進行する質問が必要です。私はあなたがコードhere使用時、この一つの質問を行うことができますどのように見ることができますQualtricsでjavascriptをどのようにアイテムのセットに適用するのですか?

Qualtrics.SurveyEngine.addOnload(function() 
{ 
    var that = this; 
    this.questionclick = function(event,element){ 
     if (element.type == 'radio') { 
      that.clickNextButton(); 
     } 
    } 
}); 

及び方法はthe help files hereで説明します。基本的には、質問のためのjavascriptボタンをクリックしてコードに貼り付けるという考え方です。

しかし、このプロセスは200回繰り返すのが面倒なので、私がJavaScriptを微調整したいのであれば、もう200回プロセスを繰り返す必要があります。

Qualtricsの質問にJavaスクリプトを適用する方法はありますか?

答えて

0

1つの選択肢は、調査をエクスポートし、エクスポートファイルを編集し、アンケートをQualtricsに再インポートすることです。この方法はQualtricsのサポートでは十分に文書化されていませんが、機能します。 This help fileは、Qualtrics調査をQSFファイル(Qualtrics Survey Formattingファイル)としてエクスポートおよびインポートする方法を説明しています。

したがって、主な課題は、関連するJavaスクリプトを200回追加するためにQSFを編集する方法を検討することです。

QSFファイルはJSON形式です。それ以前は、聞いたことがありますが、JSON形式を使用する必要はありませんでした。おそらくこれはQualtricsユーザーの典型です。

デフォルトでは、QSFファイルはシリアル形式(つまり、1行にあります)です。私はthis online editorがQSFファイルの階層構造の書式設定と解析に役立つことを発見しました。 json qsf files qualtrics

一般に、QSFファイルの構造は、一般的なサーベイ仕様を持つSurveyEntryで始まります。それはSurveyElementsの束を持っています。私の例の最初の6つの要素は、調査の一般的な機能に関連しています。特に、最初の要素はブロックを表し、ブロック内の質問の順序を設定します。最初の6日後に質問がありました。各質問にはIDタイプ変数の範囲が続き、その後にはPayloadが続きます。 Payloadには、質問の機能を制御するコア属性 - 値のペアが含まれています。

特に、質問のjavascriptはQuestionJS変数に保持されています。私はペイロードの属性の順序が重要ではないとは思いますが、私は本当にわかりません。

したがって、各質問のPayload属性内にこのようなコードを追加するだけです。

"QuestionJS":"Qualtrics.SurveyEngine.addOnload(function()\n{\n var that = this;\n this.questionclick = function(event,element){\n  if (element.type == 'radio') {\n   that.clickNextButton();\n  }\n }\n\n\n});", 

はおそらく、データ構造のより有効に活用する編集JSONスクリプトのより良い方法がありますが、単純な検索を行うと、交換することが可能でなければなりません。

"QuestionType":"MC", 

がしたい他の機会に拡張することができ

"QuestionType":"MC","QuestionJS":"Qualtrics.SurveyEngine.addOnload(function()\n{\n var that = this;\n this.questionclick = function(event,element){\n  if (element.type == 'radio') {\n   that.clickNextButton();\n  }\n }\n\n\n});", 

このアイデアを交換してください:たとえば、すべてのご質問にはタイプ複数の選択肢である場合、あなたは

検索のようなものを行うことができます一連の質問に特定の属性を追加する。

1

JavaScriptをヘッダーまたはフッター(Look &フィール/アドバンス)に入れておくと、サーベイのすべてのページに簡単に適用できます。

<script type="text/javascript"> 
Qualtrics.SurveyEngine.addOnload(function() { 
    // script logic goes here 
}); 
</script> 
+0

ありがとうございました。あなたのアプローチは素晴らしいでしょう。しかし、私はそのアプローチを試みましたが、うまくいかなかったのです。つまり、質問に表示されているコード(つまり、 'var that = this'など)をヘッダーに貼り付けようとしました。見出しの中で働くように適応する必要があると思いますか?私は、質問を通して一般的なスクリプトとして働くことができますか? –

+0

他のいくつかのスクリプトを使用すると、ヘッダーは動作することができますが、この問題の最初の質問のためだけです:https://stackoverflow.com/questions/31754742/why-does-my-qualtrics-js-in-header-only-最初のページのように見える –

+0

'this'はもはや疑問ではないので(つまりthis.questionId)、スクリプトを調整する必要があります。スクリプトで質問を見つけ出さなければなりません。他の問題では、ルック&フィールで、ページ遷移を「なし」に設定します。また、フッターにJavaScriptを入れるのがベストプラクティスです。 –

関連する問題