簡體   English   中英

ORACLE APEX:未選中復選框時顯示警報

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM