[Seasar-user:16429] Re: [Teeda]disabledなプルダウンの選択状態がバリデーションエラーで解除される?

Koichi Kobayashi [E-MAIL ADDRESS DELETED]
2008年 12月 2日 (火) 19:00:14 JST


小林 (koichik) です.

Date:    Tue,  2 Dec 2008 18:24:12 +0900
From:    [E-MAIL ADDRESS DELETED]
To:      [E-MAIL ADDRESS DELETED]
Subject: [Seasar-user:16428] [Teeda]disabledなプルダウンの選択状態がバリデーションエラーで解除される?

> 3で、選択状態が維持されない(selectedが消える)のは
> 仕様かこちらのコーディングミスかどちらでしょうか。

仕様になります.

> aaaItemsSaveのvalueの内容は、1と3で同じでした。
> disabled指定を外してみると選択状態は維持されるので
> disabled指定の有無が影響していると考えております。

disabled にするとリクエストパラメータに
値が含まれなくなるので,サーバからは
未選択と区別が付きません.
そのため選択状態は失われてしまいます.

Teeda は UIComponent ツリーの状態を保存せず,
リクエストパラメータから復元しようとするので,
入力項目を disabled にしてしまうとどうしようも
なくなってしまうのです.

disabled の場合だけ hidden で選択項目の
value を持たせると回避できます.

<span id="isAaaItemsDisabled">
<input type="hidden" id="aaa-hidden"/>
</span>


-- 
<component name="koichik">
    <property name="fullName">"Koichi Kobayashi"</property>
    <property name="email">"[E-MAIL ADDRESS DELETED]"</property>
    <property name="blog">"http://d.hatena.ne.jp/koichik"</property>
</component>



Seasar-user メーリングリストの案内