次の方法で共有


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

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

Element イベント 説明
[フォーム] OnLoad フォームが読み込まれると発生します。
OnSave データが保存されたときに発生します。
タブ​ TabStateChange タブが展開または折りたたまれたときに発生します。
カラム グラフ OnChange テーブルのデータが変更され、コントロールがフォーカスを失った場合に発生します。
IFRAME OnReadyStateComplete IFRAME の内容が読み込まれたときに発生します。

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

重要

イベント ハンドラーの構成が不適切だと、スクリプト エラーが発生し、フォームが正しく読み込んだり機能しなくなります。 スクリプトの開発者でないなら、そのスクリプトに必要な構成オプションが何であるかを完全に理解してください。

信頼できるソースからでないライブラリを使用して、スクリプト イベント ハンドラーを構成しないでください。 スクリプトを使用すると、ユーザーが実行するどのようなアクションでも実行できるため、不完全に書かれたスクリプトはフォームのパフォーマンスを著しく損なうことがあります。

イベント ハンドラーを構成したら、必ず正常に機能することを確認してください。

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

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

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

  2. ライブラリの状態に応じて、次から選択します:

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

      注意

      状況によっては キャンセルを選択し、ライブラリに追加を選択してリストを更新します。

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

    • イベントの種類:

      • 保存時 : フォーム フィールドの変更後にレコードが保存されたタイミング。
      • ト見込み時 : フォームが開いたタイミング。
    • ライブラリ : JavaScript Web リソース。

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

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

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

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

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

      フォームで使用するイベントを構成する。

  4. 保存してフォームを公開します。

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

  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 リソースの一覧に表示される名前を入力します。
    説明 任意。 Web リソースの説明を入力します。
    種類 必須スクリプト (JScript) を選択します。
    言語 任意。 組織で利用できる言語の 1 つを選択します。
  2. スクリプトが提供されている場合、参照ボタンを使用して、ファイルを検索し、アップロードすることをお勧めします。

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

注意

この簡易テキスト エディターには、スクリプトの正当性をチェックする機能がないため、一般に Visual Studio などの別のアプリケーションを使用して、スクリプトの編者およびアップロードを行う必要があります。

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

次の手順

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

注意

ドキュメントの言語設定についてお聞かせください。 簡単な調査を行います。 (この調査は英語です)

この調査には約 7 分かかります。 個人データは収集されません (プライバシー ステートメント)。