怎样实现将用户在input框中输入的中英文混合字符(车牌)中的字母实时转换为大写

一开始是在oninput事件中进行转换,后来发现微软输入法在输入中文时会在输入框中显示拼音,导致输入中文时会直接将输入框中的拼音转换为大写字母显示在输入框中,就像下面这样: 图片描述

后来找到compositionend事件可以在中文输入完成后触发,但是直接输入数字或英文字母又无法触发这个事件,求教有没有什么解决方案

阅读 5.7k
3 个回答

不应该用css?

input {
    text-transform: uppercase;
}
<input type="text" onkeyup="this.value=this.value.toUpperCase()">

这样就行了啊,火狐测试ok

楼上的方法很OK

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题