クライアント側でコンボコントロールのEnabledプロパティを変更してから値をクリアすると、ポストバック後にクリア前の値が表示される
対象製品
InputMan for .NET 2.0J Web Forms Edition
発生環境
動作環境と同じ
状況
修正済み
詳細
コンボコントロールの値を選択後、下記のコードのように、クライアント側でEnabledプロパティを変更してから選択値をクリアすると、ポストバック後にクリア前の値が表示されます。
FindIMControl("Combo1").SetEnabled(true);
FindIMControl("Combo1").Clear();
FindIMControl("Combo1").SetEnabled(true);
FindIMControl("Combo1").Clear();
回避方法
この問題は改定第6版(v2.0.2010.528)で修正されました。
不具合を修正した最新のサービスパックは、アップデートページからダウンロードできます。
改定第6版より前のバージョンでは次の方法で回避可能です。
次のようなスクリプトを</form>と</body>タグの間に追加します。
</form>
<script type="text/javascript">
ComboControl.prototype.SetEnabled = Combo_SetEnabled;
function Combo_SetEnabled(enabled) {
BaseInputControl.prototype.SetEnabled.call(this, enabled);
this.DropDownObj.Enabled = enabled;
if (this.DropDownStyle == DropDownStyle.Simple) {
this.DropDownObj.FillBlockData();
this.DropDownObj.ResetStatus();
if (this.DropDownObj.VerticalScrollBar != null) {
this.DropDownObj.VerticalScrollBar.SetEnabled(enabled);
}
if (this.DropDownObj.HorizontalScrollBar != null) {
this.DropDownObj.HorizontalScrollBar.SetEnabled(enabled);
}
}
this.UIUpdate.SetImageEnabled(this.imageField, enabled);
}
</script>
</body>
不具合を修正した最新のサービスパックは、アップデートページからダウンロードできます。
改定第6版より前のバージョンでは次の方法で回避可能です。
次のようなスクリプトを</form>と</body>タグの間に追加します。
</form>
<script type="text/javascript">
ComboControl.prototype.SetEnabled = Combo_SetEnabled;
function Combo_SetEnabled(enabled) {
BaseInputControl.prototype.SetEnabled.call(this, enabled);
this.DropDownObj.Enabled = enabled;
if (this.DropDownStyle == DropDownStyle.Simple) {
this.DropDownObj.FillBlockData();
this.DropDownObj.ResetStatus();
if (this.DropDownObj.VerticalScrollBar != null) {
this.DropDownObj.VerticalScrollBar.SetEnabled(enabled);
}
if (this.DropDownObj.HorizontalScrollBar != null) {
this.DropDownObj.HorizontalScrollBar.SetEnabled(enabled);
}
}
this.UIUpdate.SetImageEnabled(this.imageField, enabled);
}
</script>
</body>
キーワード
INME07460
この文書は、以前は次のバグレポートIDで公開されていました : 8044