さきほどのNO.1508009(チェックに応じて違うチェックボックスをアクティブにしたい)の件で、
HTMLファイルへのチェックボックス配置目的がPHPによる検索フォームとして利用することですが、
PHP側でSQLを発行するための配列の参照先にもなってしまっているため、実際のHTMLソースでは
<INPUT TYPE="CHECKBOX" NAME="fruit" value="りんご">[a] りんご
<INPUT TYPE="CHECKBOX" NAME="fruit" value="みかん">[b] みかん
<INPUT TYPE="CHECKBOX" NAME="fruit" value="ぶどう">[c] ぶどう
<INPUT TYPE="CHECKBOX" NAME="fruit" value="バナナ">[d] バナナ
でなく、
<INPUT TYPE="CHECKBOX" NAME="fruit[]" value="りんご">[a] りんご
<INPUT TYPE="CHECKBOX" NAME="fruit[]" value="みかん">[b] みかん
<INPUT TYPE="CHECKBOX" NAME="fruit[]" value="ぶどう">[c] ぶどう
<INPUT TYPE="CHECKBOX" NAME="fruit[]" value="バナナ">[d] バナナ
とかかれています(NAME属性内に[])。なのでjchさんにご提示いただいた
function check()
{
var v = document.kkk.food[0].checked;
for(var i=0; i<3; i++){
if(v) {
document.kkk.fruit[i].disabled = false
} else {
document.kkk.fruit[i].disabled= true;
}
}
document.kkk.fruit[3].disabled= true;
}
を使わせてもらおうとすると不整合を起こしてしまいます。
かといって、安直に以下のようにかくと構文エラーになってしまいます。
document.kkk.fruit[][i].disabled = false
ここでPHP側が使いたい配列表現を活かしつつ、jchさんのスクリプトも使いたい場合に
何かうまい書き方はありますでしょうか?
よろしくお願い致します。
No.1ベストアンサー
- 回答日時:
ちょっといじってみました
----------------------------------------------------
<html>
<head>
<meta http-equiv="Content-Language" content="ja">
<meta http-equiv="Content-Type" content="text/html; charset=shift_jis">
<title>Test</title>
<SCRIPT LANGUAGE="JavaScript">
<!--
function check(f,name){
var names=document.getElementsByName(name);
for(var i=0; i<names.length; i++){
names[i].disabled = !f.checked;
}
}
//-->
</SCRIPT>
</head>
<body>
<form id="Form1" name = "kkk">
<INPUT TYPE="CHECKBOX" NAME="food" value="果物" onclick="check(this,'fruit[]');">(1) 果物
<INPUT TYPE="CHECKBOX" NAME="food" value="野菜">(2) 野菜
<INPUT TYPE="CHECKBOX" NAME="food" value="肉魚">(3) 肉魚
<br>
<INPUT TYPE="CHECKBOX" NAME="fruit[]" value="りんご" DISABLED>[a] りんご
<INPUT TYPE="CHECKBOX" NAME="fruit[]" value="みかん" DISABLED>[b] みかん
<INPUT TYPE="CHECKBOX" NAME="fruit[]" value="ぶどう" DISABLED>[c] ぶどう
<INPUT TYPE="CHECKBOX" NAME="fruit[]" value="バナナ" DISABLED>[d] バナナ
</form>
</body>
</html>
BLUEPIXYさん、いつもお世話になっております。
早速適用させていただき、うまく動作できました。
説明不足で申し訳なかったですが、
(1)をクリックするとりんご、みかん、ぶどうが解除され、
バナナはずっとDISABLEDを維持したかったのですが、
for(var i=0; i<names.length; i++){
を
for(var i=0; i<3; i++){
としてみたら何とか思うとおりに動いてくれているようです。
どうもありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
テキストボックスに入力された...
-
ラジオボタンの選択で解答・点...
-
value内に変数を入れたい
-
IEだと良いがFireFoxだと動作し...
-
setIntervalの間隔を途中で変更...
-
【続】ダミーフォームの内容を...
-
セレクトボックスの初期選択状...
-
Jqueryを使って値の合計を簡単...
-
プルダウン 項目が多いので先頭...
-
dijit.form.ComboBoxについて
-
return trueとreturn falseの用...
-
javascript による POST 送信時...
-
プルダウンメニューを表の中に...
-
VBSでブラウザ上のテキストボッ...
-
追加ボタンを押した際に ok ボ...
-
netscapeでもinnerTextやinnner...
-
tableの任意行にfocusをあてる
-
submitするとなぜか2度実行する
-
JavaScriptで特定のtdタグにcla...
-
VBScriptでHTMLのセレクトボッ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
value内に変数を入れたい
-
UART通信の取説で,left floati...
-
javascriptでhiddenに二次元配...
-
hiddenのvalueの値を変えたい
-
VB.NET DateTimeの型について
-
テキストボックスに入力された...
-
CDOMailで本文テキストの文字コ...
-
setIntervalの間隔を途中で変更...
-
javascriptにてHTMLのhiddenエ...
-
ラジオボタンの選択で解答・点...
-
子から親へチェックボックスの...
-
フォームで入力した値を別のフ...
-
複数のsubmitボタンで押された...
-
selectboxのoptionタグのvalue...
-
Pythonで会員サイトの自動ログ...
-
クイズ作成:15個の問題から5個...
-
どのボタンがクリックされたの...
-
eval()を使わずに数値を取得し...
-
VBAをJavaScriptに変換したいです
-
ホームページビルダーのスクリ...
おすすめ情報