如何在输入时将输入更改为大写

我正在使用onkeyup="this.value=this.value.toUpperCase();" 以大写forms更改输入文本值。 这是有效的,但我需要在不使用鼠标事件的情况下更改输入框中的单个字母。 如果我使用左箭头键向后移动光标onkeyup事件被触发并且光标移动到结束。 如何修改此脚本,以便我可以使用箭头键向后导航并在其间的某处修改文本

目前的代码看起来像这样……

  

CSS怎么样:

 input.upper { text-transform: uppercase; } 

备注:这仍然会将值发送给用户输入的服务器,而不是大写的。

样本可以是:

  

您可以检查onkeyup中按下了哪个键,只处理键az。 应该很简单,因为键码是数字的,您可以检查键码是否在(65)和z(90)的键码之间。

就像kristoffer所说,最好使用这种风格,并转换服务器端。 还有一个强制大写的jQuery插件: http : //plugins.jquery.com/plugin-tags/uppercase

       
Fld 1 : browser shows upper-case, form submits mixed-case

Fld 2 : javascript updates text to uppercase, form submits uppercase

bootstrap 3具有转换类,这些转换类使用文本大小写类转换组件中的文本。

 

Lowercased text.

Uppercased text.

Capitalized text.