最近のアクセス:
JSEvent メソッド

コントロールの Click および OnChange イベントを使用して JavaScript のコードをトリガーできるようにします。

構文

Control.JSEvent('Event_JavaScript', "Your_JavaScript_code")

入力値の説明:
Event_JavaScript’
    処理される JavaScript イベントの名前です。

"Your_JavaScript_code"
    処理されるコードです。

適用範囲

オブジェクト: TransactionWeb Panel
コントロール: ビットマップタイプ変数、ボタン、コンボ、ダイナミック コンボ ボックス、ダイナミック リスト ボックス、リストボックス、画像、テキストブロック
ジェネレーター: .NETJava、Ruby (GeneXus X Evolution 3 まで)

説明

有効な値は次のとおりです: onclick (編集、ボタン、画像、ビットマップタイプの変数、テキストブロックのコントロール)、および onchange (コンボボックス、ダイナミック コンボ ボックス、リストボックス、およびダイナミック リスト ボックスのコントロール)。

記述した JavaScript コードを、If 条件の 2 つ目のパラメーターに含めなければなりません。つまり、True または False を返す必要があります。
結果が True の場合は、コントロールに関連付けられたイベントがトリガーされます。 

ButtonName.JSEvent( 'onclick', "confirm( '続行しますか?')")
ユーザーがボタンを押すと確認メッセージが表示され、ユーザーが Yes (はい) をクリックした場合のみ、ボタンに関連付けられている GeneXus イベントが実行されます。 

互換性

警告: GeneXus 15 以降では、可能な限り JSEvent イベントではなく JavaScript 用の外部オブジェクトを使用することをお勧めします。ユーザーの確認 (JavaScript の confirm 関数など) に基づいて関数をトリガーする場合の JSEvent のユースケースは引き続き有効です。

GeneXus 16 Upgrade 5 以降では、複雑な条件のための JavaScript コードを変更する、必要があります。たとえば、次のような条件があるとします。
ButtonControlName.JSEvent("onclick", !"if (/*conditions*/) {confirm('Something');} else {true;}")
この条件を次のように変更する必要があります。無名関数でラップして、常に True または False の値を返すようにします。
ButtonControlName.JSEvent("onclick", !"function() {if (/*conditions*/) { return confirm('Something');} else { return true;} }()")
そうしないと、JavaScript のコンソールに次のエラーが表示されます。
SyntaxError: Unexpected token 'if' at new Function (<anonymous>)

参考情報

イベントの選択


サブページ
Created: 14/09/18 03:46 by Admin Last update: 23/02/13 20:10 by Admin
カテゴリ
Powered by GXwiki 3.0