APEX 3.2 にはさまざまなフィールドがあり、マージンはユーザーが入力した値に応じて計算されます。Margin の検証を行う方法は? 例マージンがゼロ未満であると仮定すると、ユーザーはボタンのクリック時にアラートポップアップを取得する必要があります。
1 に答える
0
次の質問も参照してください: APEX 3.2 (Oracle): アイテムを変更すると、ページ上の他のアイテムの値が動的に入力
されます。
「calculate_margin」というアプリケーション プロセスを作成します。
DECLARE
lMargin NUMBER;
BEGIN
lMargin := :P8_ITEM1 + :P8_ITEM2 + :P8_ITEM3;
IF lMargin < 0 THEN
htp.p('{"result":"nok", "message":"margin is less than zero!"}');
ELSE
htp.p('{"result":"ok", "message":"margin is ok"}');
END IF;
END;
この JavaScript コードをページに配置します。JavaScript セクションがない場合は、これを<script type="text/javascript"></script>
タグの間に入れます。
function checkMargin(){
$.post('wwv_flow.show',
{"p_request" : "APPLICATION_PROCESS=calculate_margin",
"p_flow_id" : $v('pFlowId'),
"p_flow_step_id" : '0',
"p_instance" : $v('pInstance'),
"p_arg_names" : ['P8_ITEM1','P8_ITEM2','P8_ITEM3'],
"p_arg_values" : [$('#P8_ITEM1').val(),$('#P8_ITEM2').val(),$('#P8_ITEM3').val()]},
function(data){
if(data){
var lReturn = $.parseJSON(data);
if(lReturn.result=='ok'){
//you could do something here
} else {
alert(lReturn.message);
};
};
}
);
};
ではボタンに移ります。これが apex で定義したボタンである場合は、URL を指すように変更し、URL に次のように入力します。
javascript:checkMargin();
于 2012-12-03T09:33:43.587 に答える