防止 Apex 按钮双击

Preventing Apex Button Double click

您好,我有一个按钮可以将空记录插入到交互式网格中。我想阻止用户双击该按钮,因为它会填充重复的行。我有一个服务器端参数,表示如果有行按钮不会出现,但是他们仍然可以在 Populate_tables 按钮消失之前双击它。如果有任何其他解决方案,请关闭。我已经尝试了从 javascript 到服务器端的所有方法,但无论如何它们仍然可以双击。这是 table 前后的照片。

    $('#btnPopulateTbl').dblclick(function(e){ 
         e.preventDefault();
    });

以上代码防止双击按钮。这是在 jQuery.

Oracle Apex 不提供此功能作为设置等。 但是你可以使用

$('#button').click(function(event) {
  if(!event.detail || event.detail == 1){
   // This will be executed once even user clicks multiple times
  }
}); 

请注意,您的选择器必须是您提供给此按钮的 ID 或 class。 默认情况下 'add row' 按钮的 class 是:

class="a-Button a-Toolbar-item js-actionButton"

另一个解决方案是让 apex 处理这个问题。假设这是在第 1 页上。

  • 创建默认值为 'N'
  • 的页面项目 P1_POPULATE_ROWS_CLICKED
  • 在填充 table 的页面进程中,在实际加载之前添加以下行:
:P1_POPULATE_ROWS_CLICKED := 'Y';
  • 向页面进程添加条件,填充“项目不等于值”的 table,P1_POPULATE_ROWS_CLICKED,Y

另一种解决方案是仅在不存在具有该条件的行时才执行插入语句。我无法向您展示如何操作,因为您没有展示 如何 table 已填充但很乐意这样做如果你编辑你的问题。最后一个选项可能是最合适的table.