コンボコントロールに全角文字を入力しても項目の選択状態が変更されない場合がある
対象製品
InputMan for ASP.NET 8.0J
状況
修正済み
詳細
ページの読み込み時にコンボコントロールで任意のリスト項目を選択していると、ページの読み込み後にコントロールに全角文字を入力しても項目の選択状態が変更されません。そのため、ポストバック時にSelectedIndexChangedイベントが発生せず、サーバー側に入力した値が反映されません。
この現象は、コントロールの入力時にBackSpaceやDeleteキーを使用せずに全角文字を入力した場合に発生します。
この現象は、コントロールの入力時にBackSpaceやDeleteキーを使用せずに全角文字を入力した場合に発生します。
回避方法
この問題はService Pack 4(v8.0.2016.1130)で修正されました。
不具合を修正した最新のサービスパックは、アップデートページ からダウンロードできます。
Service Pack 4より前のバージョンでは、次の方法で回避可能です。
以下の回避スクリプトをaspxファイルに追加することで回避可能です。
[JavaScript]
<script type="text/javascript">
window.onload = function () {
var oldImeInput = GCIM.GcComboBox.prototype.ImeInput;
GCIM.GcComboBox.prototype.ImeInput = function (operate) {
oldImeInput.apply(this, arguments);
if (this._oldText != this.Text && operate === "DirectInput" && this._focused) {
if (this.GetSelectedIndex() >= 0) {
this._resetSelected();
}
}
}
}
</script>
不具合を修正した最新のサービスパックは、アップデートページ からダウンロードできます。
Service Pack 4より前のバージョンでは、次の方法で回避可能です。
以下の回避スクリプトをaspxファイルに追加することで回避可能です。
[JavaScript]
<script type="text/javascript">
window.onload = function () {
var oldImeInput = GCIM.GcComboBox.prototype.ImeInput;
GCIM.GcComboBox.prototype.ImeInput = function (operate) {
oldImeInput.apply(this, arguments);
if (this._oldText != this.Text && operate === "DirectInput" && this._focused) {
if (this.GetSelectedIndex() >= 0) {
this._resetSelected();
}
}
}
}
</script>