检测字段中输入的每个字符并运行条件语句

Detecting each character inputed in field and run conditionals

本文关键字:字符 运行 条件 语句 字段 输入 检测      更新时间:2023-09-26

我正在构建一个web应用程序。我相信,如果我在提问之前先解释一下我希望用户体验是什么样子,这将是最简单的。

我希望我的用户进入我的网站并开始键入文本字段。当输入每个字符时,我想对该字符运行一个条件语句,以决定是否应该将其添加到文本字段中。如果输入的字符不是我想要的字符,则不会添加该字符。

在提交文本后,我在我的模型中进行了验证,但我希望它是实时的。我猜这与JavaScript有关,我对它的编码不够熟悉,不知道该搜索/研究什么。你能帮我看看哪里吗(教程、概念等)?

感谢您花时间阅读本文。

您可以使用传递给keydown事件的事件对象上的preventDefault方法来执行此操作。这基本上是告诉浏览器不要预设置其默认操作(在文本字段中,将字母附加到字段中)。

为了简洁起见,这里有一个使用jQuery的实现,但您也可以在纯javascript中实现相同的功能:

$('input').on('keydown', function(event) {
    // event.which is the character code
    if ( /* some condition */ ) event.preventDefault();
});

这里有一个你不能键入字母a的例子:http://jsfiddle.net/354XJ/

您的情况并不完全是,但一个很好的起点是这个问题及其答案:如何使用jQuery在HTML输入框中只允许数字(0-9)?

你基本上是在寻找javascript,它会拦截按键,并且只有在它是允许的键时才允许它,上面的问题为数字键实现了这一点-从这个开始,并根据你的需要扩展它。