禁用HTML文本框中的键

时间:2017-05-28 15:06:23

标签: javascript jquery html

我的代码form

<tr> 
            <td>Nombre:</td> 
            <td><input type="text" name="company" autofocus id="company"/></td> 
</tr>

所以想要禁用此输入中的某些键作为V,C,任何键。

有可能吗?

4 个答案:

答案 0 :(得分:1)

是的,这是可能的。您可以在输入标记中禁用键。尝试下面给出的代码。

<input type="text" onkeydown="return (event.keyCode!=86);"/>

86是V的代码。通过这种方式,您可以禁用输入上的键。按照下面给出的链接检查其他键的代码。

https://www.cambiaresearch.com/articles/15/javascript-char-codes-key-codes

答案 1 :(得分:0)

如果您的密钥被禁止,您可以收听keydown事件并阻止input

&#13;
&#13;
const i = document.getElementById('company');

i.addEventListener('keydown', function(e) {
  if (['C', 'V'].includes(e.key)) {
    e.preventDefault();
  }
})
&#13;
<input type="text" name="company" autofocus id="company"/>
&#13;
&#13;
&#13;

答案 2 :(得分:0)

这只是一个防止这些密钥的示例代码。你可以根据自己的需要使用它。

document.onkeydown = function(e) {
        if (e.keyCode === 67||e.keyCode === 86) {  //C, V will be disabled.
            e.preventDefault();
             alert('not allowed');
        }
        return false;
}

答案 3 :(得分:0)

使用HTML5时,您可以使用pattern属性 这包含一个包含所需规则的正则表达式。

我的示例不使用JavaScript,但可以解决您的问题

就像这个例子:

<form action="/action_page.php">
  Country code: <input type="text" name="country_code" pattern="[A-Za-z]{3}" title="Three letter country code">
  <input type="submit">
</form>

这只接受三个字母的国家/地区代码