我在 APEX 3.2 中有不同的字段,边距是根据用户输入的值计算的。如何进行保证金验证?例如,假设边距小于零,用户应该在按钮单击时弹出警报。
问问题
505 次
1 回答
0
另请参阅此问题:APEX 3.2 (Oracle):在更改项目时动态填充页面上其他项目的值
我不是 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();
于 2012-12-03T09:33:43.587 回答