如何限制数字字段以仅在oracle apex中输入数字

时间:2019-03-20 13:34:22

标签: javascript html css oracle-apex-5

我是oracle apex的新手。目前,我正在研究oracle apex 5.0。我已经创建了一个类型为数字字段的项目。我希望此字段用于输入手机号码。因此,我使用了“ 9999999999”之类的格式屏蔽。
现在的问题是,在执行该应用程序之后,我还可以输入字母。现在,我对此进行了验证,但是我希望我的商品仅接受数字作为输入。用户无法在其中添加任何字母。
我也尝试过,将这段代码input type="tel" maxlength="10"input type="number" max="10"放在我的HTML Form Element Attributes字段以及HTML Form Element CSS Classes字段中,但是不起作用。

无论我在HTML Form Element Attributes中输入哪个查询,都将导致问题显示在图像Problem with HTML Form Element Attributes中。现在,如您在该图像中所见,这次我添加了<input type="tel" maxlength=10 pattern="[0-9]{3}-[0-9]{3}-[0-9]{4}">陈述,但有同样的问题。
现在,我还尝试将该语句放入HTML Form Element CSS Classes中,虽然这里没有出现问题,但仍然可以在其中添加字母。

请指导我该怎么做。

2 个答案:

答案 0 :(得分:1)

使用JavaScript监听onkeydown事件并检查键码。

如果键码是字母,请防止将其插入输入元素中。要查看键码列表,请检查here

function validateNumber(event) {
  var keyCode = event.keyCode;
  var excludedKeys = [8, 37, 39, 46];

  if (!((keyCode >= 48 && keyCode <= 57) ||
      (keyCode >= 96 && keyCode <= 105) ||
      (excludedKeys.includes(keyCode)))) {
    console.log("alphabets are not allowed");
    event.preventDefault();

  }

  console.log("keycode: " + keyCode);
}
<form>

  <div>
    <label>Mobile Number</label>
    <input type="tel" placeholder="Enter Mobile no" onkeydown="return validateNumber(event)" required>
  </div>


</form>

工作fiddle

答案 1 :(得分:0)

最简单的选择是创建类型为项目为数字验证。您无需执行任何其他编码即可。

此外,如果表列的数据类型为NUMBER,则您将无法在其中插入数字,Oracle不会允许您。