[Seasar-user:4481] [Teeda] タグのID

Taiki Matsuyama [E-MAIL ADDRESS DELETED]
2006年 9月 1日 (金) 00:51:38 JST


 松山です。
 S2JSF1.0.x で開発中のシステムを、S2JSF1.1.x で、記述したソースを
変更しないで動かせるかどうか、テストしています。

 1.0.x だと、
<form id="hogeForm">
<span m:inject="s:forEach" id="user" m:items="#{testForm.userList}" m:var="user">
<input type="text" id="userNo" m:value="#{user.userNo}" /><br />
</span>

 と記述しておくと、

<input type="text" id="hogeForm:user_0:userNo" name="hogeForm:user_0:userNo" value=""  /><br />
<input type="text" id="hogeForm:user_1:userNo" name="hogeForm:user_1:userNo" value=""  /><br />
<input type="text" id="hogeForm:user_2:userNo" name="hogeForm:user_2:userNo" value=""  /><br />
     :
     :

 と出力されたのですが、1.1.x だと、

<input type="text" id="userNo" name="hogeForm:user_0:userNo" value=""  /><br />
<input type="text" id="userNo" name="hogeForm:user_1:userNo" value=""  /><br />
<input type="text" id="userNo" name="hogeForm:user_2:userNo" value=""  /><br />

 となり、id が同じになってしまいます。

 これは、このような仕様ということでしょうか?

 JavaScriptで、document.getElementById() でタグを取得したり、値をセットしたり
しているのですが、この違いにより動作しない部分があるので。
 あと、レイアウト機能で表示しているときに、2つのHTML に同じID のタグがあると、
今までは、id="フォームID:タグID" となっていたのが、id="タグID" となって複数
存在してしまうので、思わぬ現象が発生することがあります。


-- 
Taiki Matsuyama mailto:[E-MAIL ADDRESS DELETED]



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