[Seasar-user:20730] [Teeda] table 内の checkbox について
TAKEUCHI, Manabu
[E-MAIL ADDRESS DELETED]
2011年 4月 18日 (月) 22:16:03 JST
竹内@エールシステムです。お世話になります。
現在 Teeda 10.0.13 sp10 にて開発しているのですが、次の現象で悩んでいます。
// html
<body>
<form id="hogForm">
<input id="schoolId-hidden" type="hidden" />
<div id="schoolName">hog</div>
<input id="studentItemsSave" type="hidden" />
<table>
<tbody id="studentItems">
<tr>
<td>
<input id="studentId-hidden" type="hidden" />
<input id="leader" type="checkbox" />
</td>
<td><div id="studentName">bar</div></td>
</tr>
</tbody>
</table>
<input id="doRegist" type="button" value="登録" />
</form>
</body>
// page
public class HogPage {
@RedirectScope private Long argSchoolId;
private Long schoolId;
private String schoolName;
private List<Student> studentItems;
private Integer studentIndex;
public Class<?> initialize() {
School school = schoolDao.selectById(argSchoolId);
hogPageDxo.convert(school, this); // schoolId と schoolName の設定
studentItems = studentDao.selectBySchoolId(argSchoolId); //
studentId と studentName, leader はこちらから
return null;
}
public Class<?> doRegist() {
School school = hogPageDxo.convert(this);
schoolDao.update(school);
studentDao.update(studentItems);
return null;
}
}
とこんな感じのページがあったとします。
表示はうまくいっているのですが、<input id="leader" type="checkbox" /> にチェックした内容が
doRegist() で stuentItems を参照した際に、反映されず、修正前の値が入ってきます
(当初 1 行目にチェックが入っていたのを外して、2 行目をチェックしても、1 行目がチェックのままで、2 行目にはチェック無しなど)。
ちなみに、dxo で convert が無いようなページでは、正常に checkbox に値が反映されます。
あと、不具合と言うにはあれなのですが、上記の場合のチェックボックスのレンダリング結果が
<input type="checkbox" id="leader"
name="includeChildBody:hogForm:studentItems:0:leader" value="true"
type="checkbox" />
と type が 2 回出現します。
よろしくお願いします。
--
竹内 学 <mailto:[E-MAIL ADDRESS DELETED]>
株式会社エールシステム
Seasar-user メーリングリストの案内