我有以下问题,我需要将文本字段的输入更改为大写,但我不能使用css或通常的方式,你看到输入更改为大写。输入必须从头开始以大写字母出现,我正试图找到一种方法来做到这一点,但我需要一些帮助。 我已经完成了这个但是它没有用,我的想法是使用KeyboardEvent将非资本投入改为资本:
<s:textfield id="textfield1" />
$("#textfield1").keypress(function(event) {
var isMinus = (event.keyCode >= 97) && (event.keyCode <= 122);
if(isMinus) {
var evento = document.createEvent("KeyboardEvent");
evento.initKeyboardEvent("onkeypress", true, true, window, event.keyCode - 32, event.location, "", event.repeat, event.locale);
event.currentTarget.dispatchEvent(evento);
}
});
任何提示?谢谢你的阅读!
答案 0 :(得分:0)
您需要将其更改为id="textfield1"
此外,请在此处查看我的回答,了解有关该主题的更多信息:Allow text box only for letters using jQuery?
TL; DR - 除非用户做错了,否则不要更改输入,否则您将调整光标位置并使用户感到沮丧。
答案 1 :(得分:0)
你可以试试这个:
$("#textfield1").keypress(function(event) {
var isMinus = (event.keyCode >= 97) && (event.keyCode <= 122);
if (isMinus) {
var letra = String.fromCharCode(event.keyCode-32);
this.value+= letra;
event.preventDefault();
event.stopPropagation();
}
});
示例:http://jsfiddle.net/kx23u3z1/
:)