我是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
中,虽然这里没有出现问题,但仍然可以在其中添加字母。
请指导我该怎么做。
答案 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不会允许您。