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

时间:2013-08-07 22:44:47

标签: javascript

我正在构建一个Web应用程序。我相信如果我在提出问题之前尝试解释我希望用户体验的样子,那将是最简单的。

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

我的模型中有验证在文本提交后执行此操作,但我希望它是实时的。我猜这与JavaScript有关,我对编码知道要搜索/研究的内容感到不舒服。你能帮我看看(教程,概念等)吗?

感谢您抽出宝贵时间阅读本文。

2 个答案:

答案 0 :(得分:0)

这不是正好你的情况,但一个非常好的起点将是这个问题及其答案:How to allow only numeric (0-9) in HTML inputbox using jQuery?

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

答案 1 :(得分:0)

您可以使用传递给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/