【问题标题】:ORACLE APEX : Alert Display when Checkbox not CheckedORACLE APEX:未选中复选框时显示警报
【发布时间】:2018-04-16 07:48:51
【问题描述】:

我目前在 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 进程 中使用此代码,该进程在 单击保存按钮后在 处理点 运行 /strong> 但我面临的问题是,一旦显示 error_message,它就会重新显示点击其他按钮,这些按钮会执行页面的提交/其他处理,这违背了目的。

    if (document.getElementById('p01_1').checked) 
        { alert("checked"); } 
   else
        { alert("Please Check the Box."); }

在上述方法中,问题在于 getElementById('p01_1') 无法识别报告中的每个复选框 并抛出警报“请检查”即使选中了部分复选框。

为我面临的这个问题寻找一个简单的解决方案。

【问题讨论】:

  • 您的复选框在生成的 HTML 中看起来如何?
  • @LajosArpad 我不太明白你的问题
  • 您有一个显示您的复选框的网页。您可以通过右键单击页面某处并单击弹出菜单中的查看源代码或查看页面源代码(取决于您使用的浏览器)来查看页面的源代码(生成的 HTML)。在那里你会找到生成的 HTML,我很想知道你的复选框所在的 HTML 部分。如果您可以将该代码放入您的问题中,那么我们或许可以为您提供帮助。
  • @LajosArpad 检查复选框元素生成的代码如下:<td class=" u-tL" headers="C616135092723269676"><div align="center" style="width:56px !important;"><input type="checkbox" name="f01" value="43219611" UNCHECKED /></div></td>

标签: javascript oracle-apex


【解决方案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 - 为什么不使用交互式网格?

【讨论】:

    猜你喜欢
    • 2019-08-24
    • 2015-07-17
    • 1970-01-01
    • 2014-02-18
    • 2015-08-08
    • 1970-01-01
    • 2021-03-01
    • 2015-08-16
    • 2021-05-07
    相关资源
    最近更新 更多