ページの先頭行へ戻る
Interstage Charset Manager Standard Edition Web入力 Agent V9 コマンドリファレンス
FUJITSU Software

8.7.1 機能とGUI

本HTCの機能は次の8つです。

<INPUT><TEXTAREA>ライクな外観

本HTCは基本的に<INPUT type="text"><TEXTAREA>と同じような外観の入力域を表示します。

図8.2 Textarea HTCが表示する入力域の外観

注意

  • 単一行で使用する場合は、以下の点に注意してください。

    • DOCTYPEによりXHTMLなどのstandardレンダリングモードを指定している場合は、本HTCのエレメントに対して高さを指定してください。指定しなかった場合、縦方向に縮んだ入力域になります。

  • 複数行で使用する場合は、以下の点に注意してください。

    • 縦スクロールバーを消すことはできません。

    • 本HTCのエレメントに対して高さを指定してください。指定しなかった場合、次のような現象が発生します。

      • 入力文字列の行数に従って、エレメントの高さが変わることがあります。

      • 正しく縦スクロール表示できないことがあります。

  • OSの種類やテーマ、ブラウザバージョン、ドキュメントモードによっては、<INPUT type="text"><TEXTAREA>と外観が異なる場合があります。外観を近づけたい場合は、本HTCのエレメントのスタイルを定義してください。

    スタイル定義の例: Classic

    style="border-style:ridge inset inset ridge; border-color:ThreeDShadow ThreeDHighlight ThreeDHighlight ThreeDShadow; border-width:2px;"

    スタイル定義の例: Windows 8 Basic

    style="border-style:solid; border-color:ThreeDShadow ThreeDLightShadow ThreeDLightShadow ThreeDLightShadow; border-width:1px;"

    図8.3 各スタイルを定義したTextarea HTCの入力域の外観

文字表示

本HTC上の文字表示は、利用者が定義する文字処理定義に従います。入力不可な文字は、代替文字に置換して表示します。初期表示文字列などの静的なタイミングだけでなく、文字編集などの動的なタイミングにおいてもこれに従います。

参考

文字処理定義による処理のタイミング

システムIMEからの入力の場合、次のタイミングで文字処理定義によるチェック/置換を行います。

  • [Enter]キーが押されたタイミング

  • キャレットが移動したタイミング

注意

補正について
  • システムIMEにおいて、[Enter]キーで変換候補が確定しないような特殊な設定がされている場合は、[Enter]キーが押された際に正しく補正されないことがあります。

  • 改行文字を補正することはできません。

  • 動的な文字列補正時、キャレットが補正文字列の末尾に移動することがあります。
    例) 補正すべき文字を入力し、マウスで入力領域内をクリックすると、本来はクリックした場所にキャレットが移動すべきですが、入力文字列の末尾に移動することがあります。

  • Textarea HTCでは、利用者が入力不可文字を入力した際、altChar属性に指定した代替文字に自動補正します。Textarea HTCによる文字表示/入力部品上で入力抑止は行いたいが、代替文字への自動補正は不要(行いたくない)という場合は、次のようにしてください。

    • Textarea HTCでは自動補正を動作させないためにaltChar属性を指定しないようにする

    • 入力抑止を行うためにJSVRAX.Utility.CharBehavior.Parserクラスを使用し、アプリケーション側で文字列に対する入力抑止のチェックを行う

合成文字について

合成文字(結合文字)の表示については、基本的には<INPUT type="text"><TEXTAREA>と同じ動作となります。ただし、JSVRAX.TSFが起動している場合は、合成文字の間にキャレットが入ると文字が2つに分裂(例 「け|゛」)し、それ以外は合成して表示します(例 「げ|」)。

文字列の折り返し表示について
  • 本HTCと<TEXTAREA>とで、文字列の折り返し位置が異なることがあります。例えば、英単語のあとに半角空白がある場合、一般的には半角空白の前で折り返されるものが、本HTCでは英単語の途中で分かれることがあります。

  • JSVRAX.TSFを起動/終了する際、文字列の折返し位置が変わることがありますが、コンテンツのテキスト値に影響はありません。

  • 「ソフトハイフン(U+00AD)」は、文字コードは保持されますが、機能しません。

submit機能について

本HTCではsubmitのためのフォーム部品を書き出しません。値をsubmitする場合は、submit用のフォーム部品を利用者が用意し、本HTCから取得した値を代入して、submitしてください。

◆文字編集

文字編集時に可能な操作は「表8.1 Textarea HTC : 文字編集の機能一覧」のとおりです。

表8.1 Textarea HTC : 文字編集の機能一覧

操作名称

内容

キー操作

マウス操作

キャレット移動

キャレットを移動させる。

  • カーソルキー

  • [Home](行頭)

  • [End](行末)

  • [PageUp](前頁)

  • [PageDown](次頁)

  • [Ctrl]+[Home](文頭)

  • [Ctrl]+[End](文末)

クリックなど、一般的なキャレット移動操作

範囲選択

文字列の範囲選択を行う。

  • [Shift]+カーソルキー

  • [Shift]+[Home]

  • [Shift]+[End]

  • [Shift]+[PageUp]

  • [Shift]+[PageDown]

  • [Ctrl]+[A](全選択)

一般的な範囲選択操作

キーボードからの文字入力

システムIMEあるいはJSVRAX.TSFによる文字入力を受け付ける。入力文字列は文字処理定義に従って表示する。

システムIMEあるいはJSVRAX.TSFの仕様に従う

システムIMEあるいはJSVRAX.TSFの仕様に従う

後退

キャレットの左の文字を削除する。

[BackSpace]

なし

削除

キャレットの右の文字を削除する。

[Delete]

なし

改行

キャレット位置に改行文字を挿入する。

[Enter]

なし

コピー/カット/ペースト

選択範囲の文字列をコピー/カットし、キャレット位置にペーストする。文字処理定義に従い、クリップボードへの入力時は文字にデコードし、クリップボードからの出力時は表示文字列にエンコードする。

  • [Ctrl]+[C](コピー)

  • [Ctrl]+[X](カット)

  • [Ctrl]+[V](ペースト)

なし

ドラッグ/ドロップ

選択範囲の文字列をドラッグ/ドロップする。Ctrlが押されている場合は、選択範囲の移動でなくコピーになる。文字処理定義に従い、トランスファバッファへの入力時は文字にデコードし、トランスファバッファからの出力時は表示文字列にエンコードする。

なし

一般的なドラッグ/ドロップ操作

挿入/上書き

文字列入力時の挿入/上書きモードをトグルする。

[Insert]

なし

JSVRAX.TSFの起動/終了

JSVRAX.TSFを起動/終了する。

JSVRAX.TSF起動/終了キー

なし

注意

各操作に関する注意事項は次のとおりです。

操作名称

注意事項

キャレット移動

  • JSVRAX.TSF起動時の[PageUp]や[PageDown]は無効。

  • 改行文字でなく、エディタの文字送り機能により折り返されている行において、JSVRAX.TSF起動時に[Home]や[End]を行うと、見た目の行頭や行末にキャレットが移動せず、1つずれた位置に移動することがある。また、そのような行の行頭/行末の部分にキャレットを移動させると、文字送りが変わることがある。

  • 本HTCの上に別のDOMエレメントを重ねると、JSVRAX.TSF起動中のカーソル移動が動作しなくなることがある。

範囲選択

  • JSVRAX.TSF起動時の[Shift]+カーソルキー(上下)、[Shift]+[Home]、[Shift]+[End]、[Shift]+[PageUp]や[Shift]+[PageDown]は無効。

  • モーダルダイアログ上では、[Ctrl]+[A]は無効。

  • 本HTCの上に別のDOMエレメントを重ねると、マウスによる範囲選択が動作しなくなることがある。

  • JSVRAX.TSFが起動していない状態で、左カーソルキーを利用して空改行を選択すると、一度に2行選択される。

コピー/カット/ペースト

  • システムクリップボードを使用するため、ブラウザの警告が出ることがある。

  • システムクリップボードを使用するため、他のWindowsアプリケーションとの文字列受渡しも可能。

  • 操作可能文字列長には制限があり、処理最大長を超過すると処理を行わない。詳細は「◆操作文字数の制限と文字列長補正」を参照のこと。

ドラッグ/ドロップ

  • 他アプリケーションへのドロップ時の動作はドロップ先のアプリケーションによって異なる。

  • 操作可能文字列長には制限があり、処理最大長を超過すると処理を行わない。詳細は「◆操作文字数の制限と文字列長補正」を参照のこと。

  • JSVRAX.TSF起動時、本HTCへのドロップは無効。

  • 文字画像の上へのドラッグ、および文字画像を起点(マウスダウン位置)にしたドラッグは無効。

  • 1行目、あるいは文字のある領域にドラッグすること。

挿入/上書き

  • システムIME/JSVRAX.TSFによる入力時は、常に挿入モードで動作する。

  • 画像で表示している文字は上書きされない。

◆初期表示文字列の指定

<TEXTAREA>同様、本HTCのタグで囲まれた文字列を本HTCの初期表示文字列とします。文字列に含まれる文字参照表現は、実体化して表示します。

◆操作文字数制限と文字列長補正

本HTCは、文字表示/編集の度に、文字処理定義によるチェック/置換、あるいは、文字と表示用データとのエンコード/デコードを行います。そのため、扱える文字数に制限を設けています。

最大長について

本HTCのコンテンツ文字列の最大長は約1000文字、コピー&ペースト/ドラッグ&ドロップのターゲット文字列は500文字(ただし、JSVRAX.TSF起動時は、数文字短くなることがあります)です。改行(\r\n)と4byte文字は2文字と数え、初期表示文字列の文字参照はバラバラの文字数で数えます。コンテンツ文字列の最大長は、本HTCの拡張プロパティであるmaxLengthプロパティで設定(変更)することができます。

「あ&#x3044;う」を初期表示すると「あいう」になりますが、初期表示時の文字列長チェックにおいては10文字と数えます。

初期文字列/innerHTMLプロパティには1000文字以上の文字列が指定/格納できますが、本HTCの機能においては、先頭の1000文字までを対象とします。なお、初期表示時およびvalueプロパティの設定時は、maxLengthプロパティの値ではなく、本HTCのコンテンツ文字列最大長で長さ補正を行います。この動きは、<INPUT type="text">のmaxLengthプロパティの動きと同じです。

注意

  • 本HTCに格納される文字列は、必ずしもmaxLengthプロパティの長さに収まっているわけではないため、必ず別途チェックを行ってください。

  • 本HTCのコンテンツ文字列最大長に接近した値を文字列長とすると、文字参照表現が入ってきた場合に限界を超えることがあるため、充分に余裕を持たせた値をmaxLengthに指定してください。

  • クライアントスペックが低い場合など、大量の文字を扱う余裕が無い場合は、maxLengthを少なめに設定してください。

◆警告表示

オペレータに対する情報通知として、本HTC上部に警告エレメントを表示します。

図8.4 Textarea HTC : 警告表示

警告エレメントは、警告アイコンとスクロールメッセージとで構成されます。メッセージが2回スクロールしたら警告エレメントを消します。メッセージ部は、マウスオーバされるまで半透明で表示します。

◆JSVRAX.TSFの処理前イベントを発生

◆JSVRAX.TSFの処理前イベントを発生」を参照してください。