猫型iPS細胞研究所

Windows、Linux、iOS、DB、Network

PHP

javascriptで複数行のチェックボックスの値を取得する

投稿日:2013年4月7日 更新日:

あまりしないので結構こまってしまいましたのでメモ・・・。

<script type="text/javascript">
function  clickfunc(){
	var len = document.form1.chkBox.length;
	for(i=0; i < len ; i++) { 
		if ( document.form1.checkbox[i].checked ) {
			//チェックが入っている時の処理
			//document.form1.checkbox[i].valueで値が取得できる
		}
	} 
}	
</script&gt;

・・・

<form method=post name="form1" action="xxx.html>"
<input type="button" value="ボタン名称" onClick=clickfunc()&gt;
<input type="checkbox" name="chkBox" value="xxx1>
<input type="checkbox" name="chkBox" value="xxx2>
<input type="checkbox" name="chkBox" value="xxx3>
</form&gt;

一見問題なさそうですが、これには落とし穴があります。
チェックボックスを表示する行が1行のときだとlenがundefinedとなってしまいます。

悩んだあげく、1行の場合の処理を追加しました・・・。
よりよい方法をご存じの方は教えて下さい。

 
<script type="text/javascript>
function  clickfunc(){
	var len = document.form1.chkBox.length;
	if ((len === undefined) && (document.form1.chkBox.checked == true)){
		//1行の場合の処理
		//チェックが入っている時の処理
		document.form1.checkbox[i].valueで値が取得できる
	}else{
		//複数行の場合の処理
		for(i=0; i < len ; i++) { 
			if ( document.form1.chkBox[i].checked ) {
			//チェックが入っている時の処理
			//document.form1.checkbox[i].valueで値が取得できる
			}
		} 
	}
}	
</script&gt;

・・・

<form method=post name="form1" action="xxx.html>"
<input type="button" value="ボタン名称" onClick=clickfunc()&gt;
<input type="checkbox" name="chkBox" value="xxx1>
<input type="checkbox" name="chkBox" value="xxx2>
<input type="checkbox" name="chkBox" value="xxx3>
</form&gt;

Gooleアドセンス用336

Gooleアドセンス用336

-PHP
-

執筆者:

関連記事

SyntaxHighlighter Evolvedで文字化けする

プレビューを見ても大丈夫なのに、 いざ投稿すると毎回文字化けしていました。 正確には予約投稿すると文字化けしていました。 <h3>"test"</h3> が …

cakephpでFile does not exist: /var/www/html/cakephp

別の環境にcakeのディレクトリを持って行ったらApacheのエラーログに File does not exist: /var/www/html/cakephp というメッセージが・・・ mod_re …

CakePHP loadModelでmodleは複数設定できない?

loadModelでmodleは複数設定できないようです・・・ ではどうするか。 loadModelを複数記述するようです・・・ //$this -> loadModel(‘User’,’Acl …