【发布时间】:2018-06-03 01:52:00
【问题描述】:
我使用 Jquery 将用户输入实时覆盖为大写。但是我收到的一些数据不是大写的2%左右。我可以知道是什么原因造成的吗?
//convert all lower case to upper case
$("input, textarea").not("[data-controlname='txtCompanyEmailAddress'] input," +
"[data-controlname='KeyAccEmailaddress'] input," +
"[data-controlname='AccDeptEmailaddress'] input," +
"[data-controlname='CompanyEmail'] input," +
"[data-controlname='CompanyURL'] input," +
"[data-controlname='txtInternalComment'] textarea," +
"[data-controlname='txtRejectCommentToSupplier'] textarea"
).on('input', function(evt) {
var input = $(this);
var start = input[0].selectionStart;
$(this).val(function (_, val) {
return val.toUpperCase();
});
input[0].selectionStart = input[0].selectionEnd = start;
});
【问题讨论】:
-
您知道哪些输入导致输出本应为大写而不是大写吗?您确定无法转换为大写的输入不是由
.not()列表中的元素之一生成的吗?你有什么理由不使用 css 规则text-transform: uppercase;? -
当然,那些被隐藏失败的输入不会在 .not() 中被选中。
标签: javascript jquery browser uppercase