JavaScriptを追加

このページの内容:

警告:カスタムコーディング機能は現状のまま提供され、実装するためにプログラミングの知識が必要になることがあります。クアルトリクスサポートでは、カスタムコーディングに関するサポートやコンサルティングは提供していません。代わりに、経験豊かなユーザーのコミュニティ (英語)にいつでも質問を投稿できます。カスタムコーディングサービスの詳細については、クアルトリクスの営業担当にお問い合わせください。

JavaScriptの追加について

JavaScriptは、アンケートで高度な機能を実装することのできるプログラミング言語です。例えば、質問文ボックスのサイズを変更することやカスタムの質問タイプを作成することなどができます。

ヒント:JavaScriptの基本は、codecademy.comのシンプルな無料チュートリアルで学習できます。

JavaScriptエディターへのアクセス

  1. JavaScriptを追加する質問をクリックします。
    質問を選択してJavaScriptを追加
  2. [質問の動作]セクションで[JavaScript]を選択します。
  3. ボックス内の「/*Place Your JavaScript Here...*/」というテキストの下にJavaScriptを配置します。開始および終了タグは既に入力されています(これらのタグは削除しないでください)。
    ヒント:コードは3つの場所のいずれかに配置できます OnLoad、OnReady、またはOnUnload ニーズに最も適した場所を選択してください。

    フィールドにJavaScriptが配置された[質問のJavaScriptを編集]ウィンドウ

  4. 保存]をクリックします。
  5. 質問の横にある[</>]記号は、質問にカスタムJavaScriptがあることを示します。
    質問の右上隅にあるJavaScriptアイコン
    行った変更をプレビューするには、メインバーの[プレビュー (英語)]をクリックします。アンケートエディターの上部にあるプレビューボタンをクリック
  6. JavaScriptを削除するには、エディターを開いて[クリア]をクリックし、[保存]をクリックします。
    JavaScriptウィンドウの左下にある[クリア]ボタンと右下にある[キャンセル]および[保存]ボタン
ヒント:カスタムJavaScriptでは、クアルトリクスコードライブラリのいくつかの特殊関数を使用できます。これらの関数のドキュメントについては、JavaScript API (英語)を参照してください。

クアルトリクスでJavaScriptを使用する場合のヒントとガイダンス

  1. クアルトリクスのアンケートは、JavaScript Form Engine(JFE)というアンケートエンジンでホストされます。JFEは単一ページのアプリケーションですが、アンケートの各ページのヘッダー、フッター、およびテーマがリロードされます。
  2. アンケートページのロード中、JFEでは、コールバックを受け入れる3つの関数が呼び出されます。コールバックは、以下のタイミングで実行されます。
    • addOnload() - ページがロードされたときに実行されます。
    • addOnReady() - ページが完全に表示されたときに実行されます。
    • addOnUnload() - ページがアンロードされたとき(ページから離れたとき)に実行されます。

      ヒント:クアルトリクスでは、document.write()は使用できません。

  3. アンケートではjQueryが事前にロードされますが、$ではなくリテラルjQueryで参照されている必要があります。
  4. 特定の質問の外で関数を変更した場合(質問に回答するためにキーボードを使用する場合など)、addOnUnload()関数に渡されるコールバックを使用して、ページの送信時にその関数を削除する必要があります。
  5. JavaScriptを実装する際は、ページの既存の関数と競合する可能性があるので、グローバル変数を作成することは避けることをお勧めします。
    • JavaScriptライブラリをインポートする場合、そのライブラリへの参照をアンケートヘッダー (英語)<script>タグ内に含めることができます。ヘッダーでライブラリを参照した場合でも、そのコードをアンケートにプルするには該当する質問にJavascriptを直接適用する必要があります。
  6. JavaScriptは、質問HTMLから削除されます。上記の「JavaScriptエディターへのアクセス (英語)」で説明されているように、質問HTMLではなくJavaScriptエディターを使用してください。
  7. ページを移行 (英語)すると、ページ要素にも影響するので、ロード時に要素を選択する際に問題が発生します。問題が発生した場合は、[アンケート]タブの[見た目と操作性]セクションでページの移行を無効にすることができます。