1

限制在 cognos 搜索和选择提示中输入的字符数

`The below script works for text box.
<script>
// The ASDF here comes from the Name property of the prompt
var fW = (typeof getFormWarpRequest == "function" ? getFormWarpRequest() :
document.forms["formWarpRequest"]);  
fW._textEditBoxASDF.maxLength = 3;  
</script>`

我需要一段类似的代码来处理搜索和选择提示。

4

1 回答 1

2

我面前没有 cognos,但让我告诉你我是如何用 Javascript 做这样的事情的。请完整阅读,因为有几种方法。

  1. 在您的本机 Cognos 选择和搜索提示周围放置一个唯一命名/id 的 DIV 标记(您输入的那个。这将便于在接下来的步骤中参考 Java 的 dom 模型。我们最终将使这个默认搜索提示不可见/隐藏但现在保持它可见,直到对以下步骤进行编码/调试。

  2. 以与本机 Select 类似的样式创建 HTML 控件,并使用所需的正确最大长度设置进行搜索。使用更改事件上的文本框来更新本机 Cognos 选择和搜索提示。对于调试故障排除,我发现让 javascript 提醒 DIV innerHTML 很方便,这样您就可以使用 Cognos 控件查看引擎盖下的内容。有时我使用这个 innerHTML 作为我可以控制的“克隆/阴影”HTML 提示的起点。

  3. 一旦您的新 HTML 控件有效地更改了 Cognos 控件,您就可以使其不可见。

      • 在复杂的仪表板/记分卡上,我编写了例程来克隆 cognos 提示并公开它们的 HTML,这样我就可以创建自己的控件来悄悄地操纵实际隐藏的控件。这让我可以完全控制演示和功能。
      • 一旦您拥有控件innerhtml,就会有很多变体,例如在页面加载后立即用您自己的控件替换innerHTML,该控件有长度限制。或者只是看看你是否可以按摩从innerhtml学习的属性。
      • 在 Cognos 8.4 和 10 中,有一种新方法可以动态地将方法添加到要在任何其他方法之前调用的控件。这很棘手,但它在 IBM 的网站上。我可能会在 10 中更干净地实现,而且 IBM 也不羞于在他们的网站上展示这些解决方案。
于 2013-01-18T15:19:30.343 回答