0

我对 HTML、CSS 和 JavaScript 有点熟悉,并使用 Angular 和 Ionic 编写了一些小应用程序。

现在我正在使用 IBM BPM Coach Views 并尝试使用输入字段(绑定到字符串变量)和按钮制作一个简单的 Coach View。

只要该字段为空,我希望禁用该按钮(BPM 语言:只读),但是当用户开始在该字段中键入任何内容时,该按钮应该变为启用状态。我已将按钮的可见性绑定到另一个字符串变量。

我四处搜索,似乎找不到任何基于 BPM 中的按键事件控制可见性的简单示例。

我所看到的只是 Dojo 组件和 Dijit 小部件的示例,目前这有点超出我的想象。我希望在“内联 JavaScript”部分或“行为”选项卡上的一个(或多个)“事件处理程序”中必须有一些(相对)简单的方法,使用大约 20-40 行 JavaScript IBM BPM 8.5.6 中的 Coach View Designer。(它在浏览器窗口中打开,因为我的教练视图在客户端人工服务中运行)。

有没有人有这么简单的例子。

4

2 回答 2

1

我建议您采用以下方法。

  1. 创建一个自定义教练视图(比如说 CV1)。
  2. 在 CV1 中拖动 ibm bpm 提供输入文本CV(将控件 ID 名称指定为“inputText”)。
  3. 在 CV1 中拖动 ibm bpm 提供的按钮CV(将控件 ID 名称指定为“按钮”)。
  4. 在 CV1 的内联 JS 或加载事件中编写以下代码。

    // get input text elment
    var inputText = dojo.query("data-viewid['inputText']",this.context.element);
    var button = dojo.query("data-viewid['button']",this.context.element);
    
    //make button as disabled by default
    
    button.setAttribute('disabled', true);
    
    
    //key press event on input text
    
    inputText.on("keydown", function(event) {
    //Write your custom logic on key press
    button.setAttribute('disabled', false);
    });
    
于 2016-08-01T07:17:34.430 回答
0

您要实现的是教练“数据更改”选项卡中的验证脚本,但如果您想使用事件,请使用 onInput 或 onChange 甚至输入文本教练视图

if(me.getData()){
   ${viewId_of_button}.setEnabled(true);
}
else ${viewId_of_button}.setEnabled(false);

产品不断更新,因此请寻找最适合您的版本的代码。注意 - 如果您使用 onChange,用户可能必须在输入字段外单击才能触发更改事件。

于 2021-09-10T21:30:04.497 回答