【问题标题】:perform toUpperCase() each time the content of an input field is changed每次更改输入字段的内容时执行 toUpperCase()
【发布时间】:2014-04-23 14:51:25
【问题描述】:

我想在每次更改输入字段的内容时执行 toUpperCase()。我的意思不是当字段失去焦点时,而是每次输入一个字符时。

我试试这个不起作用(我对 JQ 还很陌生)!

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

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

怎么了?

【问题讨论】:

    标签: javascript jquery input toupper


    【解决方案1】:
    $('.myClass').on('input', function() {
         $(this).val($(this).val().toUpperCase());
    });
    

    【讨论】:

      【解决方案2】:

      函数将触发 change 事件,但您需要使用 .val() 重置该值,因为仅将文本设置为 toUpperCase() 是不够的。

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

      Fiddle Demo

      【讨论】:

        【解决方案3】:

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

        someinput{text-transform:uppercase}
        

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

        【讨论】:

          【解决方案4】:

          你应该使用另一个键盘事件:

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

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

          【讨论】:

          • 谢谢。您的函数在每次击键时启动,这很好,但 toUpperCase() 不执行!文字保持不变。
          猜你喜欢
          • 1970-01-01
          • 2017-05-19
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2022-12-11
          • 2023-03-14
          • 1970-01-01
          • 2023-03-11
          相关资源
          最近更新 更多