日付コントロールのスピンボタンのクリックでフォーカスを取得すると、CursorPositionプロパティの設定が無効になる場合がある
対象製品
InputMan for .NET 1.0J Web Forms Edition
発生環境
動作環境と同じ
状況
修正済み
詳細
InputMan for .NET Webのコントロールにフォーカスがある状態で、日付コントロールのスピンアップまたはスピンダウンボタンをクリックします。
CursorPositionプロパティをMonthやDayに設定していても、最初のスピンアップ/ダウン時はカーソル位置が先頭になってしまいます。
※標準コントロールからフォーカスを移動した場合はこの現象は発生しません。
※テキストエリアをクリックするなど、一度フォーカスを取得した後はこの現象は発生しません。
CursorPositionプロパティをMonthやDayに設定していても、最初のスピンアップ/ダウン時はカーソル位置が先頭になってしまいます。
※標準コントロールからフォーカスを移動した場合はこの現象は発生しません。
※テキストエリアをクリックするなど、一度フォーカスを取得した後はこの現象は発生しません。
回避方法
この問題は改定第5版(v1.0.2007.720)で修正されました。
不具合に対応した最新修正版は、アップデートページからダウンロードできます。
改定第5版より前のバージョンでは次の方法で回避可能です。
aspxファイルの</form>と</body>の間に次の回避コードを追加します。
【回避コード】
<script language = "javascript">
DateControl.prototype.SpinBtnMouseDown = function(mouseButton, type) {
if (!Utility.IsOnFocus || Utility.CurrentActiveControlId != this.ID)
{
var ret = this.UIProcess.SetCursorPositionAndSelection(this.HighlightText, this.GetText(), this.CursorPosition, this.SelectionStart);
if (ret != null)
{
this.SelectionStart = ret.SelectionStart;
this.SelectionEnd = ret.SelectionEnd;
}
}
BaseInputControl.prototype.SpinBtnMouseDown.call(this, mouseButton, type); }
</script>
不具合に対応した最新修正版は、アップデートページからダウンロードできます。
改定第5版より前のバージョンでは次の方法で回避可能です。
aspxファイルの</form>と</body>の間に次の回避コードを追加します。
【回避コード】
<script language = "javascript">
DateControl.prototype.SpinBtnMouseDown = function(mouseButton, type) {
if (!Utility.IsOnFocus || Utility.CurrentActiveControlId != this.ID)
{
var ret = this.UIProcess.SetCursorPositionAndSelection(this.HighlightText, this.GetText(), this.CursorPosition, this.SelectionStart);
if (ret != null)
{
this.SelectionStart = ret.SelectionStart;
this.SelectionEnd = ret.SelectionEnd;
}
}
BaseInputControl.prototype.SpinBtnMouseDown.call(this, mouseButton, type); }
</script>
キーワード
INME06212
この文書は、以前は次のバグレポートIDで公開されていました : 6976