【问题标题】:Displaying "no records found" alert from inside a CFC从 CFC 内部显示“未找到记录”警报
【发布时间】:2012-05-04 20:18:55
【问题描述】:

在带有 IE8 的 CF9 中,我有一个 cfgrid,它绑定到一个文本(搜索)字段以及一个 cfc 函数。文本字段值用作 cfc 函数中的查询过滤器。如果找到任何结果,则会填充网格。否则,我想向用户发送警报,例如 “未找到记录”

我找不到任何能够做到这一点的东西,因为 javascript 和 CF 标记似乎都在 cfc 中被简单地忽略了,即

<cfif myQry.recordCount eq 0> No records found <cfabort></cfif>

<cfif myQry.recordCount eq 0> 
    <script> 
        alert("No records found"); 
    </script>
</cfif>

感谢您的任何建议

【问题讨论】:

  • 我很惊讶这仍然没有答案。您没有显示整个组件代码,但我的第一个想法是它设置为 output="no"。另一种选择是,如果您在代码或 cfadmin 中设置了 enablecfoutputonly="yes",那么您需要在任何代码周围放置 cfoutput 标签以使其显示。
  • 仅供参考,如果您还包含以下核心标签之一,CF 问题会得到更多关注:cfml 表示有关 CFML 的一般问题和/或 coldfusion 表示 Adob​​e 特定问题。

标签: coldfusion coldfusion-9 cfc cfgrid


【解决方案1】:

事实证明它比我想象的要复杂。我已经尝试了一些我发现的东西,比如ajaxOnLoad 语句或网格的onLoad 事件,但它们没有按预期工作。最后我用一个js函数解决了这个问题:

    getTotalRows = function() {
    var isGrid = ColdFusion.Grid.getGridObject('myGrid');
    var isData = isGrid.getStore();
    isData.addListener("load", function() {
  if(isData.totalLength == 0)
    {
    alert("No records found");
    return false;
        }
    });
  }
  ColdFusion.Event.registerOnLoad(getTotalRows,null,false,true);

【讨论】:

    猜你喜欢
    • 2020-07-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-10
    • 1970-01-01
    • 2011-11-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多