- PR -

【ASP.NET】Enabled=Falseなtext boxは、ポストバックすると入力値が消える?

投稿者投稿内容
haruka
常連さん
会議室デビュー日: 2003/12/09
投稿数: 36
投稿日時: 2003-12-16 16:29
遥@初心者 修行中です。いつもお世話になります。

ASP.NET(VB.NET)でWebアプリケーションを製造開発しています。
 また困っておるいるのですが(TT)、表題のような現象、
つまり
Enabled=Falseの状態のテキストボックスをポストバック
すると入力値が消えてしまいます。

このようなことが起きるのでしょうか?
どなたか心当たりのある方は教えてください。

Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2003-12-16 16:33
ちょっと、状況がつかめません。
そもそも、入力できないのでは、と思うのですが???

JavaScriptで値を放り込む、ということですか?
まゆりん
ぬし
会議室デビュー日: 2002/08/12
投稿数: 539
お住まい・勤務地: よこはま
投稿日時: 2003-12-16 16:37
こんにちは。

環境がないので試せないのですが、EnabledがダメならReadonlyを使ってみては?
#前にも似たようなスレッドがありましたので検索してみましょう。

[ メッセージ編集済み 編集者: まゆりん 編集日時 2003-12-16 16:38 ]
haruka
常連さん
会議室デビュー日: 2003/12/09
投稿数: 36
投稿日時: 2003-12-16 16:40
Jittaさん、いつもお返事ありがとうございます。

親画面からPopUp画面を表示し、Popup画面で選択した値を
Javascriptで親画面に戻す(セットする)というようなこと
をしています。

JavaScriptでセットするコントロールが、Enabled=False
の状態のテキストボックスなんです。


haruka
常連さん
会議室デビュー日: 2003/12/09
投稿数: 36
投稿日時: 2003-12-16 16:53
やったー。できました。ReadOnlyプロパティですね。
このような些細なことでも非常に時間のかかる遥でした。


しかし、テキストボックスのEnabledのプロパティは
いったいどういうときにに使うのだろう。。。
※ポストバックしてデータ値が消えてしまっら使えないよ。

Jittaさん、まゆりんさんありがとうございます。

まゆりん
ぬし
会議室デビュー日: 2002/08/12
投稿数: 539
お住まい・勤務地: よこはま
投稿日時: 2003-12-16 17:09
「ここには絶対入れさせない!」という時に使うとか(笑)。

Enabledはそのコントロールの有効/無効を設定するプロパティだから
無効の場合は入らないと思っているのですが・・・。
#ASP開発の時にINPUTタグにDISABLEDをつけると入力値が取れなかった記憶があります。

ReadOnlyは言葉通りの機能しか持っていないので使い勝手は良いですね。
ちなみに、スタイルシートでTextBoxの背景色を灰色にすると
Enable=Falseにした時と同じようになります。
_________________
まゆりん @ わんくま同盟
Blog る。
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2003-12-16 17:20
引用:

まゆりんさんの書き込み (2003-12-16 17:09) より:

「ここには絶対入れさせない!」という時に使うとか(笑)。


 でも、薄い灰色の背景に濃い灰色の字で書かれるので、見難い。。。

ということで、
> ちなみに、スタイルシートでTextBoxの背景色を灰色にすると
> Enable=Falseにした時と同じようになります。
foregroundも忘れずに。。。
#こんなツッコミ入れているから「ただの小うるさいおっさんやろ」と
#言われるんだろうな。。。(;_;)シクシク
ほむら
ぬし
会議室デビュー日: 2003/02/28
投稿数: 583
お住まい・勤務地: 東京都
投稿日時: 2003-12-16 17:56
ども、ほむらです。
--------
TextBox Enabled=falseというのはHTMLに直したら
<input type="text" disabled="disabled" value="" />
ということでしょうか?
もしも、僕の前提があっているのならばこのケースはHTMLの仕様です。
type="text"に限らずdisabledされたフォームデータは送信されません。
(ポストバックて自分自身にリクエストを送ることですよね?)

readonlyとdisabledの違いは。
readonly
  値をユーザーが入力できない。
  あとは他のコントロールと同じ。

disabled
  コントロールが無効になる。
  コントロールにフォーカスが移動しない
  リクエスト時にフォームデータとして送信されない。
  静的にdisbaledの内容をスクリプトで動的に変更しても値はtrueのまま
  (IEバグ、ただし。動作そのものはdisabledのtrue|falseは正常)

スキルアップ/キャリアアップ(JOB@IT)