コントロールの Click および OnChange イベントを使用して JavaScript のコードをトリガーできるようにします。
Control.JSEvent('
Event_JavaScript', "Y
our_JavaScript_code")
入力値の説明: ‘Event_JavaScript’ 処理される JavaScript イベントの名前です。
"Your_JavaScript_code" 処理されるコードです。
オブジェクト: Transaction、
Web Panelコントロール: ビットマップタイプ変数、
ボタン、コンボ、ダイナミック コンボ ボックス、ダイナミック リスト ボックス、リストボックス、画像、テキストブロック
ジェネレーター: .NET、
Java、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>)
イベントの選択