我已经查看了许多用于屏蔽html输入的插件,这些插件似乎解决了有关数字的问题,例如数量,日期和标识号,还没有看到任何现成的文本字段解决方案。假设我有“第一个”和“姓氏”输入,我自动想要屏蔽,以便格式自动显示以大写字母开头的每个单词。
john = Joen
有什么建议吗?
答案 0 :(得分:3)
您可以尝试使用onkeyup
:
<强> HTML:强>
<input id='first' onkeyup='mask("first");'>
<input id='last' onkeyup='mask("last");'>
<强> JavaScript的:强>
String.prototype.toTitleCase = function () {
return this.replace(/\w\S*/g, function (txt) {
return txt.charAt(0).toUpperCase() + txt.substr(1).toLowerCase();
});
};
function mask(target) {
var elem = document.getElementById(target);
elem.value = elem.value.toTitleCase();
}
答案 1 :(得分:1)
给出以下HTML:
<input id="myText" type="text"/>
您可以使用JQuery的keyup函数:
$("#myText").keyup(function(e) {
var previousKey = this.value.substring(this.value.length-2,this.value.length-1);
//check if previous key is a space, or for the first letter and if it is a valid letter
if ((previousKey == " " || this.value.length == 1) && (e.which >= 65 && e.which <= 90)) {
var newVal = this.value.substring(0, this.value.length-1);
this.value =newVal + String.fromCharCode(e.keyCode);
}
});