第 8 章 JSVRAX のリファレンス
8.5 InputValidator HTC
◆dictsChangeKey
インラインかな漢字変換TIP#dictsChangeKeyのページ内デフォルト値を設定/返却します。
説明はインラインかな漢字変換TIP#dictsChangeKeyを参照してください。
◆yomiANChangeKey
インラインかな漢字変換TIP#yomiANChangeKeyのページ内デフォルト値を設定/返却します。
説明はインラインかな漢字変換TIP#yomiANChangeKeyを参照してください。
8.4.2.4 拡張メソッド
なし。
8.4.2.5 拡張イベント
なし。
8.4.2.6 拡張スタイル
なし。
8.4.2.7 使用例
<HTML xmlns:JSVRAX> 1.
<HEAD>
<?IMPORT namespace="JSVRAX" implementation="/JSVRAX/Environment.htc" > 2.
<JSVRAX:environment /> 3.
<?IMPORT namespace="JSVRAX" implementation="/JSVRAX/Default.htc" > 4.
<JSVRAX:default JSVRAX:TSFBootKey="alt 49" /> 5.
...
1. 「JSVRAX」というnamespaceを宣言。
2. 宣言したnamespaceに環境設定HTCの実装モジュールをインポート。
3. namespace付きで環境設定HTCをWebページに追加。
4. 宣言したnamespaceに、本HTCの実装モジュールをインポート。
5. namespace付きで本HTCをWebページに追加。同時に、TSF割り当てHTCおよび文字表示/入力部品HTCのTSFBootKey
プロパティのページ内デフォルト値を"alt 49"に設定。
・ キーによる文字入力
・ ペースト操作による挿入文字列
・ ドロップ操作による挿入文字列
本機能は、Textarea HTCの「◆文字表示」および、ペースト/ドロップ時の補正仕様と同等の機能です。ただし、サーバ字形による代替 表示は行わず、そのままのテキストが表示されます。
注意
・ 初期表示文字列やスクリプトなどからの設定値については、補正対象とはなりません。これらについては、別途チェックを行ってく ださい。
・ InputValidator HTCでは、利用者が入力不可文字を入力した際、altChar属性に指定した代替文字に自動補正します。入力抑止
は 行 い た い が 、 代 替 文 字 へ の 自 動 補 正 は 不 要(行 い た く な い)と い う 場 合 は 、InputValidator HTCは 使 用 せ ず 、
JSVRAX.Utility.CharBehavior.Parserクラスを使用し、アプリケーション側で文字列に対する入力抑止文字のチェックを行うように
してください。
・ TSFAttacher HTCとInputValidator HTCは、一つのエレメントに対して、同時に割り当てて使用してはいけません。TSFAttacher HTC
が組み込まれたエレメントで入力抑止をする場合は、JSVRAXのAPI(JSVRAX.Utility.CharBehavior.Parserクラス)を使用するな ど、アプリケーションで別途チェックを実施してください。
・ 自動補正に関する注意事項として、Textarea HTCの「◆文字表示」の注意事項もあわせて参照してください。
8.5.2 API
一般的なHTCの機能とターゲットエレメントの機能、および、本HTCの独自実装を加えたものが、本HTCの全機能となります。ここ では、本HTCの独自実装についてのみ説明します。
参考
・ HTCの組み込みなどに関するインタフェースについてはHTCの実装となります。
・ idプロパティやsetAttribute()メソッドなど、DOMエレメントの基本的なインタフェースについてはターゲットエレメントの実装となりま す。
・ 利用可能/不可能なインタフェースなどについて詳細は「8.11 エレメントビヘイビアのインタフェースについて」を参照してください。
注意
・ <INPUT type="text"><TEXTAREA>以外に割り当ててはいけません。
・ ターゲットエレメントのdisabled/readonly属性を変更する場合(上位エレメントのdisabled属性変更など、結果的にターゲットエレメ ントの属性が変更される場合を含む)、および、独自プロパティを変更する場合は、ターゲットエレメントにフォーカスのない状態で 変更してください。
・ 本HTCを割り当てたエレメントのコンテンツに対し、TextRangeを用いたアクセスをしてはいけません。
・ 本HTCを割り当てたエレメントのvalueを変更する場合(reset含む)は、フォーカスを落としてから行ってください。なお、本HTC を割り当てたエレメント上の[ESC]キー押下によるresetは抑止されます。
・ CSSのdirectionなどにより、文字列の流し込み方向を左から右以外にしてはいけません。
・ 本HTCを使ったとしても、何らかのトラブルによって、補正されない文字列がサーバに送信される可能性があります。送信情報の 確認画面を用意し、サーバ側で再チェックを行うなど、システムの各フェーズで必ず値をチェックするようにしてください。
・ 送信ボタン等を押させるなどのGUI操作を行わず、スクリプトなどにより任意のタイミングで値を送信した場合、入力途中の未補正 文字列を含んだままの値が送信される可能性があります。エレメントからフォーカスが外れているなど、文字入力中では無いことが 明らかな状態で値を送信するようにしてください。
・ 動的な文字列補正時、キャレットが補正文字列の末尾に移動することがあります。
例) 補正すべき文字を入力し、マウスで入力領域内をクリックすると、本来はクリックした場所にキャレットが移動すべきですが、入 力文字列の末尾に移動することがあります。
8.5.2.1 実装モジュールの URL
%JSVRAX_PATH%/InputValidator.htc
8.5.2.2 HTC 情報
◆namespace
JSVRAX
注意
・ タグおよびJSVRAXが拡張実装するプロパティ/イベントに付加してください。
・ 変更してはいけません。
◆
namejsvrax_inputvalidator
注意
通常は不要です。使い方については、Internet ExplorerのHTCに関するドキュメントを参照してください。
◆urn
http://jsvr.fujitsu.com/client/jsvrax/inputvalidator
注意
通常は不要です。使い方については、Internet ExplorerのHTCに関するドキュメントを参照してください。
◆tagName
なし◆コンテンツ
なし8.5.2.3 拡張プロパティ
◆charBehavMap
文字処理定義を設定/返却します。
説明はインラインかな漢字変換TIP#charBehavMapを参照してください。
◆altChar
文字処理定義により入力不可とされる文字の代替入力文字を設定/返却します。
シンタックス
HTMLの場合
<ELEMENT JSVRAX:altChar="_altChar"... >
Scriptの場合
element.setAttribute("JSVRAX:altChar", _altChar) 上記のような一般的なDOMアクセス
パラメータ _altChar
型 string型
正常値 代替文字あるいは文字列。undefined/nullの場合は、代替入力せず(入力不可文字をそのまま入力)、空文 字の場合は入力不可文字を入力しない。
デフォルト Default#altCharの値 判定/補正 なし/なし
注意
- ここで指定された文字列は、文字処理定義によるチェックを行わず、そのまま入力します。補正が必要な文字を指定しないよう にしてください。
- デフォルトの状態(指定がない状態 : undefined)では、代替入力しないことに注意してください。
8.5.2.4 拡張メソッド
なし
8.5.2.5 拡張イベント
なし
8.5.2.6 拡張スタイル
なし
8.5.2.7 使用例
<HTML xmlns:JSVRAX> 1.
<HEAD>
<?IMPORT namespace="JSVRAX" implementation="/JSVRAX/Environment.htc"> 2.
<JSVRAX:environment /> 3.
<SCRIPT>
var myMap = [ {init:"0", def:"0000000000000..."}, ...]; 4.
</SCRIPT>
<HEAD>
<BODY>
<TEXTAREA style="behavior:url(/JSVRAX/InputValidator.htc)" 5.
JSVRAX:charBehavMap="myMap" JSVRAX:altChar="〓">今日はいい天気でした<TEXTAREA>
...
1. 「JSVRAX」というnamespaceを宣言。
2. 宣言したnamespaceに環境設定HTCの実装モジュールをインポート。
3. namespace付きで環境設定HTCをWebページに追加。
4. 文字処理定義を生成し、変数に代入。
5. <TEXTAREA>に本HTCを適用。同時に、charBehavMapプロパティに4.の変数名を設定し、altCharプロパティに「〓」を設
定。