系统中的所有数据都必须保存为大写,但有一些例外(密码,电子邮件,登录...),所以我创建一个 css 来做视觉技巧
input[type="text"], textarea { text-transform:uppercase; }
.small_case { text-transform:smallcase !important; }
将 small_case
类用于异常的字段(密码不需要此内容)。
但众所周知,当用户输入 server-side
时,这会保留价值。
示例:
所以我对 "fix"
问题执行了 jQuery 功能:
$(document).ready(function () {
$("input, textarea").on('keypress blur', function () {
if ($(this).hasClass('small_case')) {
$(this).val($(this).val().toLowerCase());
}
else {
$(this).val($(this).val().toUpperCase());
}
});
});
PS:为什么我使用keypress
和blur
?
在某些输入中,我使用了一个掩码组件,它创建了基本结构
示例:
使用上面的jQuery代码,Caret将定位在最后
示例:
那么......有什么建议吗?
答案 0 :(得分:0)
您应该执行以下操作:
使用文本转换来修复用户看到的内容
当值来自客户端
如果出于某种原因你还想按照你的方式去做,那么在修改jquery中的文本之后你就必须修改每个文本框的光标位置。
请看以下帖子中的一些答案: With jQuery, how do I capitalize the first letter of a text field while the user is still editing that field?