[PHP-users 211] Re: checkbox with '[]' and JavaScript
HOTTA Michihide
php-users@php.gr.jp
Fri, 22 Jun 2001 15:23:57 +0900
堀田@諌早市です。
三輪さん、kehi さん、フォローありがとうございます。三輪さんの
方につなげます。
On Fri, 22 Jun 2001 14:01:25 +0900
Subject: [PHP-users 202] Re: checkbox with '[]' and JavaScript
MIWA Hiroyasu <hmiwa@ndsip.co.jp> wrote:
> 三輪です。
>
> > PHP で checkbox からの値を受けるのに、
> >
> > <input type=checkbox name="hoge[]" value="1">
> > <input type=checkbox name="hoge[]" value="2">
> > <input type=checkbox name="hoge[]" value="3">
> >
> > とかやったりすると思いますが、サーバに送信する前に、最低1つは
> > チェックされていないとはじくような JavaScript のコードを書こう
> > としています。
> >
> > ところが、JavaScript では変数自体名に '[]' を含むことはできない
> > ようです?(慣れていないので間違いかも)
>
> 含むことができないかどうかは、わからないのですが、
> [PHP-jp 11418] からのスレッドで吉川さんが回答された
11418 を過去ログ検索ページから見つけることができませんでした。
何をキー (or URL) に指定すればいいのかな?
> >私はいつも、document.forms[0].elements[0]のように指定して
> >オブジェクトにアクセスしています。
>
> ではだめでしょうか?
elements は一度やりかけて挫折していたのですが、再び挑戦してみま
した。
以下のようなコードを書いてみました。
件の checkbox 群は、form の最初から 6 個並んでいます。
function data_chk() {
var i, cnt = 0;
for (i=0; i<6; i++) {
if (document.form1.elements[i].checked) {
cnt++;
}
}
if (cnt == 0) {
alert("いずれかの資料を選択してください。");
document.form1.elements[0].focus();
return false;
}
(以下略)
}
IE5.5(WinNT)だと、一応チェックはできますが、alert が出た後、
「フォーカスをコントロールに移動できません。
コントロールは表示されていない、使用できない状態、
またはフォーカスを受け入れない種類です。」
のエラーとなり、結局 submit されてしまいます。
# 項目の多いフォームが多いので、なるべくフォーカスは動かして
# あげたい。
NC4.75(WinNT) の場合は、
「document.form1.elements[i] has no properties. 」
のエラーとなり、やっぱり submit されてしまいます(^^;;;。
PHP の話題じゃなくて心苦しいので、よい ML 等あればご紹介下さい。
--
堀田 倫英 Web : http://www.net-newbie.com
Official : hotta@18software.co.jp / Private : hotta@net-newbie.com
Outlook Express をお使いの方 or ML 初心者の方へ:
http://www.net-newbie.com/netiquette/outlook.html