我在APEX 3.2中有不同的字段,保证金是根据用户输入的值计算的。如何验证保证金?例如假设保证金小于零,用户应该在点击按钮时弹出警告。
答案 0 :(得分:0)
另见这个问题:APEX 3.2 (Oracle): on change of an item dynamically populates the values of other items on the page
我不是3.2巫师,但我会尽力帮忙。
创建一个名为'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();