我正在构建一个Web应用程序。我相信如果我在提出问题之前尝试解释我希望用户体验的样子,那将是最简单的。
我希望我的用户访问我的网站并开始输入文本字段。输入每个字符时,我想对该字符运行条件语句,以决定是否应将其添加到文本字段中。如果输入的字符不是我想要的字符,则不添加字符。
我的模型中有验证在文本提交后执行此操作,但我希望它是实时的。我猜这与JavaScript有关,我对编码知道要搜索/研究的内容感到不舒服。你能帮我看看(教程,概念等)吗?
感谢您抽出宝贵时间阅读本文。
答案 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/