首页 > 解决方案 > Oracle MAF 数字输入

问题描述

我正在尝试从 Oracle MAF amx 文件中调用 javascript 函数,以便在输入字段中只能输入数字键:

<amx:inputText required="true" showRequired="true" value="#{FSRBC.selectedFSR.time}">
  <amx:clientListener method="numbersOnly" type="keyDown"/>
</amx:inputText>

这调用了一个js函数:

function numbersOnly (evt) {
  var _keyCode = evt.getKeyCode();
  var _filterField = evt.getCurrentTarget();
  var _oldValue = _filterField.getValue();
  if (_keyCode > 64 && _keyCode < 91) {
    _filterField.setValue(_oldValue);
    evt.cancel();
  }
}

js 函数在其自己的文件 validation.js 中定义,该文件在 maf-feature.xml 中列出:

<adfmf:include type="JavaScript" file="resources/js/validation.js" id="i19"/>

但是 numbersOnly 不会被调用。我在第一行添加了 console.log 和 alert 调用,它们没有被执行。

有什么我想念的吗?提前致谢。

标签: oracle-maf

解决方案


无需为数字键盘编写单独的脚本。amx:inputText 有一个属性 inputType。为其设置“数字”。它将显示唯一的数字键盘。此属性还支持电子邮件、电话、网址。


推荐阅读