作成日: 2017/12/06 最終更新日: 2018/01/31
文書種別
不具合
状況
修正済み
詳細
GcComboBoxのドロップダウンからマウス操作で値を選択した場合、クライアント側のSelectedIndexChangedイベントで、フォーム上の他のコントロールに対してSetFocus()やfocus()メソッドを実行してもフォーカスが移動されません。
上下のカーソルキー(矢印キー)で値を選択した場合は問題ありません。
上下のカーソルキー(矢印キー)で値を選択した場合は問題ありません。
回避方法
この問題はInputMan for ASP.NET 10.0JのService Pack 1(v10.0.4001.2012)で修正されました。
不具合を修正した最新のサービスパックは、アップデートページ からダウンロードできます。
Service Pack 1より前のバージョンでは、次の方法で回避可能です。
以下のようなJavaScriptで回避することができます。
[JavaScript]
<script type="text/javascript">
window.onload = function () {
if (window.GCIM && GCIM.GcComboBox) {
var oldFunc = GCIM.GcComboBox.prototype.OnDropDownClosed;
GCIM.GcComboBox.prototype.OnDropDownClosed = function () {
oldFunc.apply(this, arguments);
this._mouseIsOnDropDownList = false;
};
}
};
function GcComboBox1_SelectedIndexChanged(sender, eArgs) {
var subitems = sender.GetSelectedItem().GetSubItems();
switch (subitems[0].GetValue()) {
case "A":
setTimeout(function () {
FindIMControl("GcTextBox1").SetFocus();
}, 0);
break;
case "B":
setTimeout(function () {
document.getElementById("TextBox1").focus();
}, 0);
break;
}
}
</script>
不具合を修正した最新のサービスパックは、アップデートページ からダウンロードできます。
Service Pack 1より前のバージョンでは、次の方法で回避可能です。
以下のようなJavaScriptで回避することができます。
[JavaScript]
<script type="text/javascript">
window.onload = function () {
if (window.GCIM && GCIM.GcComboBox) {
var oldFunc = GCIM.GcComboBox.prototype.OnDropDownClosed;
GCIM.GcComboBox.prototype.OnDropDownClosed = function () {
oldFunc.apply(this, arguments);
this._mouseIsOnDropDownList = false;
};
}
};
function GcComboBox1_SelectedIndexChanged(sender, eArgs) {
var subitems = sender.GetSelectedItem().GetSubItems();
switch (subitems[0].GetValue()) {
case "A":
setTimeout(function () {
FindIMControl("GcTextBox1").SetFocus();
}, 0);
break;
case "B":
setTimeout(function () {
document.getElementById("TextBox1").focus();
}, 0);
break;
}
}
</script>
旧文書番号
41426