IEでtext-transform: uppercase;スタイルを適用すると、小文字の値が大文字で表示される


というhtmlをIE6(Internet Explorer6)で表示させると、"ABCDE"という表示がされたテキストボックスが出力される。
……これは一見すると正しいようにも思える。しかしこの状態、実は「画面には"ABCDE"と表示される」が「サブミットされる値は"abcde"」という状態なのだ。
ただのinputタグなのに、画面に見えている値とサブミットされる値が別になるという罠。
ちなみに、1文字でも入力しなおせばサブミットされる値も"ABCDE"になる。
text-transform:uppercaseはinputタグ用ではないってことだろうか?


スマートではないがjavascriptのonLoadなどでtoUpperCaseしてやれば、サブミットされる値も"ABCDE"に出来る。