次の方法で共有


モデル駆動型アプリ フォーム イベント ハンドラーを構成する

Power Apps フォームのフォーム イベント ハンドラーは、フォーム内の次の領域に対して構成できます。

要素 Event Description
フォーム OnLoad フォームが読み込まれると発生します。
OnSave データが保存されたときに発生します。
タブ TabStateChange タブが展開または折りたたまれたときに発生します。
コラム OnChange 列のデータが変更され、コントロールがフォーカスを失ったときに発生します。
IFRAME OnReadyStateComplete IFRAME のコンテンツが読み込まれるときに発生します。

イベント ハンドラーは、JavaScript Web リソースへの参照と、イベントが発生したときに実行されるその Web リソース内で定義された関数で構成されます。 各要素には、構成された最大 50 個のイベント ハンドラーを指定できます。

Important

イベント ハンドラーを正しく構成しないと、スクリプト エラーが発生し、フォームが正しく読み込みまたは機能しなくなる可能性があります。 スクリプトの開発者でない場合は、スクリプトに必要な構成オプションを正確に理解してください。

信頼できるソースから取得されていないライブラリを使用してスクリプト イベント ハンドラーを構成しないでください。 スクリプトは、ユーザーが実行する可能性のある任意のアクションを実行するために使用でき、スクリプトの記述が不十分な場合、フォームのパフォーマンスが大幅に低下する可能性があります。

イベント ハンドラーを構成したら、常にイベント ハンドラーをテストして、正常に動作していることを確認します。

イベント ハンドラーを構成する

次の手順では、フォームのイベント ハンドラーを構成する方法について説明します。 同様の手順を使用して、タブ、列、または IFrame のイベント ハンドラーを構成します。

  1. Power Apps にサインインし、目的のテーブルを開き、イベント ハンドラーを構成するフォーム デザイナーでフォームを開きます。

  2. ライブラリの状態に応じて、次のオプションから選択します。

    • イベント ハンドラーとして設定する関数を含むライブラリが既に使用可能な場合は、右側のプロパティ ウィンドウの [ アカウント メイン] フォームで [ イベント ] タブを選択し、手順 3 に進みます。
    • 目的の関数を含むライブラリがまだ使用できない場合は、左側のナビゲーション ウィンドウで [フォーム ライブラリ ] を選択し、[ライブラリの 追加] を選択します。
      1. [ JavaScript ライブラリの追加 ] ページで、[ 新規] を選択します。 フォーム イベントをライブラリに追加します。
      2. 新しいブラウザー タブで、プロパティを完了して JScript Web リソースを作成し、[ 保存] を選択して、[ 発行] を選択します。 詳細情報: JavaScript Web リソースを作成する
      3. ブラウザー タブを閉じて、[ JavaScript ライブラリの追加 ] リストに戻ります。
      4. 一覧から JavaScript Web リソースを選択し、[ 追加] を選択し、[ イベント ] タブを選択します。

      [キャンセル] を選択し、[ライブラリの追加] を選択して一覧を更新する必要がある場合があります。

  3. [ イベント ] タブで、[ イベント ハンドラー ] を選択し、次の情報を入力してフォーム イベントを構成し、[完了] を選択 します

    • イベントの種類:

      • 保存時: フォーム フィールドの変更後にレコードを保存する場合。
      • 読み込み時: フォームが開いたとき。
    • ライブラリ: JavaScript Web リソース。

    • 関数: イベントに対して実行する必要がある JavaScript Web リソース内の関数の名前。

    • 有効: 既定では、イベント ハンドラーが有効になっています。 このイベントを有効にしない場合は、[ 有効] チェック ボックスをオフにします。

    • 最初のパラメーターとして実行コンテキストを渡す: 一部の関数では、実行コンテキストを関数に渡す必要があります。 必要な場合は 、最初のパラメーターとして [実行コンテキストを渡す ] を選択します。

    • 関数に渡されるパラメーターのコンマ区切りの一覧: 一部の関数は、関数の動作を制御するパラメーターのセットを受け取ることができます。 パラメーターの一覧には、JavaScript スクリプト言語で許可されている関数パラメーターで受け入れられる変数または別の関数を含めることができます。 パラメーターを渡す必要がある場合は、関数に 渡されるパラメーターのコンマ区切りリストにパラメーターを入力します。

    • テーブル列の依存関係: [保存時 のイベント] で、レコードの保存後にイベントをトリガーする列を選択します。

      フォームのイベントを構成します。

  4. [保存]、[ フォームの発行 ] の順にクリックします。

onload イベントの hello world の例

この簡単な例では、イベント ハンドラーで定義された 1 つの変数のパラメーター渡しを使用して、フォームの読み込み時にアラートを表示する、onload フォーム イベントを構成する方法を示します。

  1. Hello world JavaScript サンプルを使用して Web リソースを作成します。 詳細情報: アプリを拡張するためにモデル駆動型アプリ Web リソースを作成または編集する
  2. メイン フォームをフォーム デザイナーで開き、編集します。 この例では、 Student カスタム テーブルのメイン フォームを使用します。
  3. 左側の [情報] ウィンドウで、[ イベント ] タブを選択します。
  4. [ ライブラリの追加] を選択し、作成した Web リソース (この例では、リソースの名前は javascript-hello-world) を選択し、[ 追加] を選択します。 Web リソースの javascript ファイルを追加する
  5. [ 読み込み時] を選択して展開し、[ イベント ハンドラー] を選択します。
  6. [ イベントの構成 ] ウィンドウで、 関数 名 (この例では helloworld) を入力し、関数ボックスに 渡されるパラメーターのコンマ区切りの一覧にn = "Hello world!"などのパラメーターを入力します。 フォーム イベントを構成する
  7. 完了を選択します。
  8. フォームを保存して発行します。

フォームを含むモデル駆動型アプリを再生して、イベントをテストします。 メイン フォームが読み込まれると、アラートにモーダル ダイアログ メッセージ "Hello world!" が表示されます。この例では、フォームを引き続き使用するには、ユーザーが [OK] を 選択してアラートを閉じる必要があります。 フォームの読み込みイベントに対して表示されるアラート

Hello world JavaScript サンプル

function helloworld(n) {
alert(n);
}

クラシック エクスペリエンスを使用してイベント ハンドラーを構成する

  1. クラシック フォーム エディターで、ハンドラーを構成するイベントを含む要素を選択します。

  2. [ホーム] タブ[編集] グループで、[プロパティの変更] を選択するか、要素をダブルクリックします。

  3. 要素のプロパティ ダイアログで、[ イベント ] タブを選択します。

  4. [フォーム ライブラリ] 領域を展開します。 イベント ハンドラーとして設定する関数を含むライブラリがまだ一覧にない場合は、ライブラリを追加します。

  5. フォーム ライブラリをイベント ハンドラに追加するには:

    1. イベントリストの「フォームライブラリ」セクションで、「追加」を選択します。

    2. 使用可能な Web リソースのリストで JavaScript Web リソースを見つけます。 それを選択し、[ 追加] を選択します。

      必要な JavaScript Web リソースが存在しない場合は、[ 新規 ] を選択して新しい Web リソース フォームを開き、作成します。

    3. JavaScript Web リソースを作成するには、「 JavaScript Web リソースの作成」を参照してください。

    4. これで、作成した Web リソースが 検索行 ダイアログで選択されます。 [追加] を選択してダイアログを閉じます。

  6. [ イベント ハンドラー ] セクションで、イベント ハンドラーを設定するイベントを選択します。

  7. [追加] を選択して [ハンドラーのプロパティ] ダイアログを開きます。

  8. [ 詳細 ] タブで、適切なライブラリを選択し、イベントに対して実行する関数の名前を入力します。

  9. デフォルトでは、イベントハンドラは有効になっています。 このイベントを有効にしない場合は、[ 有効 ] チェックボックスをオフにします。

    一部の関数では、実行コンテキストを関数に渡す必要があります。 必要な場合は 、最初のパラメーターとして [実行コンテキストを渡す ] を選択します。

    一部の関数は、関数の動作を制御するための一連のパラメーターを受け取ることができます。 これらが必要な場合は、関数に 渡されるパラメーターのコンマ区切りリストに入力します。

  10. [ 依存関係 ] タブで、スクリプトが依存する列を [ 依存列] 領域に追加します。

  11. OK をクリックしてハンドラーのプロパティダイアログを閉じます。

  12. イベント ハンドラーを入力すると、緑色の矢印を使用して関数を上下に移動することで、関数が他の関数に対して実行される順序を調整できます。

  13. [OK] を選択して、要素プロパティ ダイアログを閉じます。

  14. [保存] を選択して変更を保存します。 公開 を選択して、フォームを公開します。

ユーザー インターフェイス (UI) では、上向きと下向きの緑色の矢印を使用してスクリプトの読み込み順序を調整できますが、実際にはスクリプトは順番に読み込まれません。

JavaScript Web リソースを作成する

  1. Web リソース フォームで、次のプロパティを設定します。

    プロパティ 価値
    名前 必須。 Web リソースの名前を入力します。
    表示される名前 必須。 Web リソースのリストに表示する名前を入力します。
    Description Optional. Web リソースの説明を入力します。
    タイプ 必須[スクリプト (JScript)] を選択します。
    Language Optional. 組織で使用可能な言語のいずれかを選択します。
  2. スクリプトが提供されている場合は、[ 参照 ] ボタンを使用してファイルを見つけてアップロードすることを強くお勧めします。

または、[ テキストエディタ ]ボタンを選択して、[ コンテンツの編集 ]ダイアログにスクリプトの内容を貼り付けるか入力することもできます。

この単純なテキスト エディターにはスクリプトの正確性を確認する機能がないため、通常は、Visual Studio などの別のアプリケーションを使用してスクリプトを編集してからアップロードする必要があります。

  1. [ 保存] を 選択し、Web リソース ページを閉じます。

次のステップ

チュートリアル: 最初のクライアント スクリプトを記述する
メイン フォームとそのコンポーネントの使用