読者です 読者をやめる 読者になる 読者になる

PHPのために指定した配列用name属性をjavascriptで扱うには

PHP側で配列として処理するためにname属性を'foo'のように指定した場合、この属性をjavascriptで扱う場合には以下のように、document.form.elements['foo']とする必要がある。
document.form.foo は当然、 undefined であるし、 document.form.foo[] も構文エラーになるため。

<script type="text/javascript">
//<![CDATA[

function my_confirm(df) {
	if (df.elements['foo[]'].length > 0) {
		for (var i = 0; i < df.elements['foo[]'].length; i++) {
			if (fo.elements['foo[]'][i].checked) {
				alert("checked = " + fo.elements['foo[]'][i].value);
			}
		}
	}
	return confirm("ok?");
}

//]]>
</script>

....
<form action="bar.php" method="post"
	name="form" onsubmit="return my_confirm(document.form);">
	<input type="checkbox" name="foo[]" value="a" />A
	<input type="checkbox" name="foo[]" value="b" />B
	<input type="checkbox" name="foo[]" value="c" />C
	<input type="submit" value="submit" />
	<input type="reset" value="reset" />
</form>