每次更改输入字段的内容时执行toUpperCase()

时间:2014-04-23 14:51:25

标签: javascript jquery input toupper

每次输入字段的内容发生变化时,我想执行toUpperCase()。我的意思不是当场失去焦点,而是每次输入一个角色。

我尝试了这个并不起作用(我对JQ来说还不够新鲜)!

$(".myClass").change(function () {
        $(this).val().toUpperCase();
});

此外,该功能仅在模糊时启动。

出了什么问题?

4 个答案:

答案 0 :(得分:2)

$('.myClass').on('input', function() {
     $(this).val($(this).val().toUpperCase());
});

答案 1 :(得分:0)

您应该使用其他键盘事件:

https://api.jquery.com/keypress/

$( "#test" ).keypress(function(e) {
    $(this).val($(this).val().toUpperCase());
});

答案 2 :(得分:0)

功能会触发change事件,但您需要使用.val()重置该值,因为只需将文字设置为toUpperCase()就不够了。

$(".myClass").change(function () {
        $(this).val($(this).val().toUpperCase());
});

Fiddle Demo

答案 3 :(得分:0)

要将浏览器输入中的字符限制为大写,请使用css -

someinput{text-transform:uppercase}

然后在提交之前使用任何更改事件或验证来更改您要发送到服务器的值。