![](/img/trans.png)
[英]Oracle apex: Javascript to display sum of a column in an interactive report based on a checked checkbox row
[英]ORACLE APEX : Alert Display when Checkbox not Checked
我目前在ORACLE APEX中有一個交互式報告,在該報告中我使用該報告將許多記錄顯示為數據庫中的行和列。 復選框就是這樣的一列。報表中的所有復選框都是這樣呈現的: APEX_ITEM.CHECKBOX2(1,GROUP1.CAM_QER_LINE_GROUP_ID,'UNCHECKED',p_item_id=>'p01_1')
報告中有諸如“ 保存 ”之類的按鈕,用於保存對報告中的記錄所做的更改。
單擊“保存”按鈕后 ,對檢查記錄所做的所有更改都應成功通過, 否則,將彈出警報/消息或類似類型 ,並要求用戶選中該框並保存更改。
我知道有多種方法可以做到這一點。 到目前為止,我已經嘗試過但還沒有完全成功的方法。
if apex_application.g_f01.count = 0
then
apex_error.add_error (
p_message => 'Invalid Customer ID!',
p_display_location => apex_error.c_inline_with_field_and_notif,
p_page_item_name => 'P5_CUSTOMER_ID');
else
--- DO THE REST
在上述方法中,我在PL / SQL進程中使用此代碼,該代碼在單擊“保存”按鈕后在處理時運行,但是我面臨的問題是一旦顯示error_message, 單擊后它會重新顯示甚至其他按鈕都無法提交頁面/其他處理,這違背了目的。
if (document.getElementById('p01_1').checked)
{ alert("checked"); }
else
{ alert("Please Check the Box."); }
在這上面的方法,問題是的getElementById(“p01_1”)不能識別報告中的每個復選框 ,並拋出警報“請勾選”即使一些列的所有復選框被選中。
尋找我所面臨的這個問題的簡單解決方案。
迭代由apex_item生成的每個復選框。
//fXX = XX the first parameter of apex_item
var elements = document.getElementsByName('f01');
for(var i = 0; i < elements.length; i++) {
if(!elements[i].checked) {
alert(elements[i] + ' not checked');
}
}
1-如果應選中所有復選框,那么為什么要使用它呢?
2-為什么不使用交互式網格?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.