htmlのinputタグには、maxlengthという属性を指定できる。
閲覧者が入力するサイズを制限することが出来るものだ。
明らかに文字数が固定の場合、たとえば郵便番号や電話番などや
あまり長い文字を入力されると困るフィールドに指定することが出来る。
この「サイズ」というのが曲者だ。
大抵のPC用ブラウザや、au、Vodafoneでは、サイズとは文字数になる。
DoCoMoだけ違う。
作ろうiモードコンテンツ HTML INPUTタグ
http://www.nttdocomo.co.jp/service/imode/make/content/html/about/input.html
> maxlength=”最大文字数”
と、書いてある。
これを見てどう思うのだろうか?
文字数とは、一般的な感覚で文字数と書いたら
全角だろうが、半角だろうが1文字は1文字だろうと考えるだろう。
でも、違うらしい。
例えば
<input type=”text” name=”a” value=”" maxlength=”1″ />
1文字しか入力して欲しくないテキストボックスにこう書いてしまうと、
全角入力が出来なくなってしまう。
かといって、バイト数でもない。
このテキストボックスには半角カナなどを1文字入力することは出来る。
半角文字を1とした文字幅とでも言えばいいのか。そんな仕様だ。
知らないで文字数指定をしてしまうと、入力できないなんてことも発生してしまうだろう。
もっとも、あくまで入力チェックは、受け取った側のプログラムでするべきだが、
ユーザビリティ的には指定してあげた方が親切だと思う。
でも、その親切心があだになる場合もあるかもしれない。