[Seasar-user:2696] Re: [S2JSF]ラジオボタン+ラベルについて

m.matsuo smoochynet
2005年 10月 17日 (月) 16:06:04 JST


松尾です。

05/10/17 に "Kenichi Shinoda :: 篠田 健一"<[E-MAIL ADDRESS DELETED]> さんは書きました:
> 米林さん、アドバイスありがとうございます。
>
> HTML出力結果は以下の通りです。
>
>
> <dd style="width:100px;">
>     <input id="male" type="radio" name="sex" value="male" class="radio" onfocus="colorOn(this);" onblur="colorOff(this);" />
>     <label for="male">男</label>
>     <input id="female" type="radio" name="sex" value="female" class="radio" onfocus="colorOn(this);" onblur="colorOff(this);" />
>     <labelfor="female">女</label>
> </dd>
>
>
> <dd style="width:100px;">
>     <input type="radio" name="mainform:sex" value="0"/>
>     <label for="male">男</label>
>     <input type="radio" name="mainform:sex" value="1"/>
>     <label for="female">女</label>
> </dd>
>
> 相違点は、
> input type="radio" において、それぞれ個別に設定していたID属性が
> 消えてしまい、全て"mainform:sex"に変わっている為です。
> それぞれの<input type="radio">に個別にIDを設定できる方法はないのでしょう
> か?
コンポーネントのid属性を指定すると、レンダリング時に「formのid+コンポーネントid」になります。
これはS2JSF(もしくはmyfacesだかJSF)の仕様なのでこれでまずいのであればrendererを修正する必要があります。

> 加えて、onfocus、onblur属性が消えないようにできないのでしょうか?
以下のように記述すれば可能です。
<span m:inject="s:selectOneRadio" m:value="#{hoge.radio}"
m:onfocus="colorOn(this);" m:onblur="colorOff(this);">
    <input type="radio" value="1">
</span>
>
> S2JSFのIDに関して、以前過去ログで見たことがあった為、探してみてるんです
> が量もかなりあり、探しにくい為 質問させてください。
> よろしくお願いします。
> _______________________________________________
> Seasar-user mailing list
> [E-MAIL ADDRESS DELETED]
> http://lists.sourceforge.jp/mailman/listinfo/seasar-user
>



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