【发布时间】:2011-04-01 04:32:57
【问题描述】:
如何在 jQuery 中编写代码,这样用户就不能按点“。”输入文本框?
我可以像这样在javascript中编码它,在每次按键时,浏览器都会检查是否按下了按键,如果是点则substring(0,len-1),但它会闪烁! 我要完全阻止按键!
【问题讨论】:
如何在 jQuery 中编写代码,这样用户就不能按点“。”输入文本框?
我可以像这样在javascript中编码它,在每次按键时,浏览器都会检查是否按下了按键,如果是点则substring(0,len-1),但它会闪烁! 我要完全阻止按键!
【问题讨论】:
这应该可以。它尚未经过跨浏览器测试:
$("#theTextBox").keyup(function() {
if($(this).val().indexOf('.') !== -1) {
var newVal = $(this).val().replace('.', '');
$(this).val(newVal);
}
});
编辑:我认为这更好:
function doItPlease() {
if ($(this).val().indexOf('.') !== -1) {
var newVal = $(this).val().replace('.', '');
$(this).val(newVal);
}
}
$("#theTextBox").bind("keydown keyup", doItPlease);
Try the less sucky solution here.
编辑(再次):我赞成上述解决方案,因为我非常喜欢反馈方面。也就是说,我认为这就是你所追求的:
$("#theTextBox").keyup(function(e) {
if (e.which != 190) {
return true;
}
e.preventDefault();
});
【讨论】:
查看此插件以防止输入特定字符:http://www.itgroup.com.ph/alphanumeric/
还可以查看用于一般验证的验证插件:http://bassistance.de/jquery-plugins/jquery-plugin-validation/
【讨论】:
使用出色的http://bassistance.de/jquery-plugins/jquery-plugin-validation/ 表单验证插件。
您需要做的就是验证选项作为类名:
HTML
<input id="test" type="text" class="required email"/>
将required 和email 添加为一个类将验证它是否为必须是电子邮件的必需输入。验证在您键入时完成。
jQuery
$('#test').validate()
这个插件的好处是您可以直接从 Microsoft CDN 访问 js 文件,因此您不必从服务器加载它。 http://ajax.aspnetcdn.com/ajax/jquery.validate/1.8/jquery.validate.js
【讨论】: