プロプログラマ

プログラマーを職業としてます。 Flex,Air,C#,Oracle,HTML+JSの言語ノウハウを中心に情報発信していきます

[Flex] mx:TextInputとs:TextInputのrestrict指定による挙動の違い

現在、TextInputには、mxとsparkの両方の部品があり、どちらも使用することができます。

mxのTextInputにrestrictを指定するときに便利(?)な機能があります。

<mx:TextInput restrict="&#91;A-Z&#93;"/>

このように指定した場合、小文字のaを入力しても勝手に大文字のAに変換されて入力されます。
ユーザーは、いちいちシフトキーを押す必要がないわけです。

ですが、sparkのTextInputで同様の記述をすると、同じ動きにはなりません。

<s:TextInput restrict="&#91;A-Z&#93;"/>

この場合、小文字のaを入れても、何も入力されません。大文字のAしか入力できません。
この動きが正解といえば、正解なのですが、mxの動きを知っているものとしては、不便になったと言わざるおえません。

同様の動きをさせようとするなら、小文字のa-zも入力可能として、changeイベントなどで大文字変換を行う必要があります。
たとえば、

<s:TextInput restrict="&#91;A-Za-z&#93;" 
    change="{spark.components.TextInput(event.currentTarget).text = spark.components.TextInput(event.currentTarget).text.toUpperCase()}"/>

です。

このあたりの細かい変更点が公開されていないので、やってみないと分からないところが煩わしいですね。

 

== ランキングに参加しています。ぜひクリックお願いします ==

プログラム ブログランキングへ
にほんブログ村 IT技術ブログへ
にほんブログ村

,

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください