いとさんぽ

福岡移住生活を楽しむプログラマーのあれこれ

strutsでチェックされているmultiboxの値を取得する

仕事で慣れないstrutsを使ったシステム開発をしていて、multiboxがチェックされているかの判定をjavascriptで行い値を取得する方法です。
ググっても自分のやりたいことにぴったりな回答がなかったのでメモ代わりに走り書き。
ノートの手書き適当メモを書き起こしているので自宅では動作確認していません。

目的

multiboxのチェックされている項目の値をjavascriptで受け取る。

環境

struts:バージョン忘れた
Java:6

jsp
<html:multibox property="○○">
javascript
var boxes = document.getElementByName("○○");

for(i = 0; i<boxes.length; i++){
	if(boxes[i].checked == true){
		console.log(boxes[i].value); // ←これが値!
	}
}

※一部のみ抜き出しています。


multiboxはで画面読み込み時に取得できた分を複数表示させてました。
propertyに指定した名称とgetElementByNameに渡す名称を一致させたら取れています。
jsp側のボタンにonClickイベントを仕込んでjava側のEventActionを経由せずにjavascriptの関数を呼び出しました。
チェックされていない場合はboxes[i].checked==trueのものがないので、そのときはjspにエラーメッセージを表示するようにしました。