コントロールの幅やフォントを変更するとクリアボタンが非表示になる場合がある

文書番号 : 39500     文書種別 : 制限事項     登録日 : 2016/07/13     最終更新日 : 2016/07/13
文書を印刷する
対象製品
InputMan for ASP.NET 8.0J
詳細
InputManコントロールの横幅やフォントを既定値以外の値に設定すると、コントロールのクリアボタンが非表示になる場合があります。ただし、この場合でもコントロールの右端付近をクリックすると、コントロールの文字列が削除されます。
これはブラウザ側の内部処理に起因する制限事項です。
回避方法
クリアボタンの動作を無効にする場合は以下のスクリプトを追加し、マークアップにプロパティの設定を追加します。
次はテキストコントロールのクリアボタンを無効にする例です。

[JavaScript]
<script type="text/javascript">
window.onload = function () {
    var oldUtlityFunction = GCIM.Utility.IsMouseDownOnClearButton;
    GCIM.Utility.IsMouseDownOnClearButton = function (evt) {
        if (evt.target) {
            var id = evt.target.id;
            if (id) {
                var imControl = FindIMControl(id);
                if (imControl && imControl._attributes && imControl._attributes.length > 0) {
                    for (var i = 0; i < imControl._attributes.length; i++) {
                        if (imControl._attributes[i].Key === "DisableClearButton" && imControl._attributes[i].Value === "true") {
                            return false;
                        }
                    }
                }

            }
        }
        return oldUtlityFunction.apply(this, arguments);
    }
}
</script>

[aspxファイル]
<%--<im_edit:GcTextBox ID="GcTextBox1" runat="server" HasLoadFromXml="True" Width="80px"></im_edit:GcTextBox>--%>
<im_edit:GcTextBox ID="GcTextBox1" runat="server" HasLoadFromXml="True" Width="80px" DisableClearButton="true"></im_edit:GcTextBox>