■サイトマップ Search help


Biz/Browserに関する障害レポート


 9900 TextBoxへMaxLengthプロパティとAutoTabプロパティの設定が行われている場合、「BackSpace」キー押下でTextBox上のフォーカスが移動してしまう 

対象バージョン 〜 Biz/Browser V Ver5.0.1.1

障害内容 以下2点の設定が行われたTextBoxオブジェクトにMaxLengthプロパティに指定された上限値まで文字列を入力し、文字先頭にカーソルをあてた状態で、「BackSpace」キーを押下するとフォーカスが移動してしまう。
  ・AutoTabプロパティをTRUEにしている
  ・MaxLengthプロパティが指定されている

[サンプルスクリプト]
TextBox Text2 {
	X = 116;
	Y = 16;
	Width = 95;
	Height = 33;

	MaxLength = 5;
	AutoTab = $TRUE;

	TabIndex = 2;
	FontFace = $BOLD;
	FontSize = 14;
}

[画面例]
要因 「BackSpace」キーは内部的に「BackSpaceという文字」が入力されるが、その入力に対しMaxLengthプロパティのチェックが行われた結果、指定桁数に達したと判定されてしまうため。

対処方法
(方法1) ・Biz/Browser Vの場合
キーボードからの入力がMaxLengthプロパティの値に達した場合に発生するMaxLengthReachedイベントと現在のカーソルの位置・選択範囲を取得するGetSelectionメソッドを組み合わせて、AutoTabプロパティ同様の動作を実装する。
Form Form1 {
 Width = 158;
 Height = 68;
 
 TextBox Text1 {
  X = 15;
  Y = 16;
  Width = 54;
  Height = 30;
  MaxLength = 5;
  TabIndex = 1;
 }
 TextBox Text2 {
  X = 79;
  Y = 16;
  Width = 54;
  Height = 30;
  MaxLength = 5;
  TabIndex = 2;
 } 
 Function OnMaxLengthReached( e ) {
  if(e.From.GetSelection() == 0){
   return;
  }else{
   e.From.MoveFocus();
  }
 }
}
 
(方法2) ・Biz/Browser XEの場合
Value値が確定した際に発生するTouchイベントを利用して入力桁数のチェックと次のオブジェクトへ移動処理を行う。
以下のサンプルでは、指定桁数以上が入力されている場合、指定文字数以上の文字列を削除し、次のオブジェクトへ移動する。
※Value値を確定し、Touchイベントを発生させるためには、Enterキーを押下する必要があります。
Form Form1 {
 Width = 244;
 Height = 125;
 
 TextBox Text1 {
  X = 15;
  Y = 16;
  Width = 54;
  Height = 30;
  TabIndex = 1;
  
  Function OnTouch( e ) {
    /* 入力された値を取得 */
    var txtVal = this.Value;
    
    if(txtVal.Length > 5){
      /* 入力された文字が6バイト以上の場合、
        6バイト目以降の文字を削除 */
      this.Value = txtVal.Substring(0, 5);
    }
     this.MoveFocus();
  }
 }
 TextBox Text2 {
  X = 78;
  Y = 16;
  Width = 54;
  Height = 30;
  TabIndex = 2;
  Function OnTouch( e ) {
    /* 入力された値を取得 */
    var txtVal = this.Value;
    
    if(txtVal.Length > 5){
      /* 入力された文字が6バイト以上の場合、
        6バイト目以降の文字を削除 */
      this.Value = txtVal.Substring(0, 5);
    }
     this.MoveFocus();
  }
 }
}
 
(方法3) 改修バージョンへのバージョンアップを行う。

改修バージョン

Biz/Browser V Ver 5.0.2.0


■ 障害レポート一覧へ