0

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

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

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

感谢您抽出时间来阅读。

4

2 回答 2

0

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

您基本上是在寻找能够拦截按键并仅在它是允许的键时才允许它的 JavaScript,上面的问题为数字键实现了这一点 - 从它开始并根据您的需要扩展它。

于 2013-08-07T22:58:54.413 回答
0

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

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

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

这里有一个例子,你不能输入字母 A:http: //jsfiddle.net/354XJ/

于 2013-08-07T23:14:15.267 回答