No.3ベストアンサー
- 回答日時:
#1です。
例えばこんな感じ?
class="imgbox"を設定してある、inputとその後にあるimgが対になっているものとしています。(あまり厳密にチェックしていませんので、このルール以外で設置すると対応関係がおかしくなります)
画像はbtn1.gif、btn2.gifがチェックのon、offの画像と仮定。
<html>
<head>
<style type="text/css">
form input.imgbox { display:inline; }
form img.imgbox { display:none; }
</style>
<script type="text/javascript">
window.onload = function(){
elm = document.getElementsByTagName('IMG');
for (i=0; i<elm.length; i++) if (checkcls(elm[i])) set(elm[i]);
}
function set(e, f) {
var tmp = e.previousSibling;
while (tmp && tmp.nodeName!='INPUT') tmp = tmp.previousSibling;
if (tmp && tmp.type == 'checkbox' && checkcls(tmp)) {
if (f) tmp.checked = !tmp.checked;
tmp.style.display = 'none';
e.style.display = 'inline';
e.src = tmp.checked?'btn1.gif':'btn2.gif';
}
}
function checkcls(e){
var k = -1, cls = e.className.split(' ');
while (cls[++k]) if (cls[k]=='imgbox') return true;
return false;
}
</script>
</head>
<body>
<form action="" method="">
<input type="checkbox" name="cbx1" class="imgbox">
<img src="" class="imgbox" onclick="set(this,1);">チェックボックス1
<br>
<input type="checkbox" name="cbx2" class="imgbox">
<img src="" class="imgbox" onclick="set(this,1);">チェックボックス2
<br>
<input type="submit" value="送信">
</form>
</body>
</html>
この回答へのお礼
お礼日時:2009/08/26 14:23
完全なソースコードありがとうございます。
久しぶりに感動しました。
こんなにスマートに書けるんですね。
勉強させていただきます。
No.2
- 回答日時:
JSで作ってやるのが早いと思います。
http://www.kttnet.co.jp/~harashi/samplepg/check/ …
このサイトのソースをみると
やはり同じような処理ですね。
かなりソースが長くなるようですが・・・
No.1
- 回答日時:
画像を使うチェックボックスはUI用としてスクリプトで制御するものとして、実際のチェックボックスは非表示にしておく。
ユーザの操作に応じて、スクリプトで画像を変更するでしょうから、それと同時に非表示の(本物の)チェックボックスの値も設定しておく。
で、できそうな気がしますが・・・
送信時には、通常の(=非表示の)チェックボックスの値が送られることになります。
なお、スクリプトOFFの場合も考慮するなら、非表示のチェックボックスは初期状態では表示にしておいて、スクリプトで画像チェックボックスと表示状態を入れ替えるようにするのがよろしいかと思います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) Libreoffice calcで人名を取り消し線を入れたい。 2 2022/09/10 15:27
- その他(プログラミング・Web制作) Leafletで画像をon、offさせる方法について 2 2022/11/01 15:34
- Visual Basic(VBA) VBAのトグルボタンでのマクロについて質問です 3 2022/10/10 17:23
- 工学 電気関係のテキストにて以下の問題が分からず、回答をお願いします 【問題文:ブレーカーがトリップしてい 3 2023/05/22 10:43
- Chrome(クローム) Chromeリモートデスクトップについて 1 2022/09/02 18:40
- バッテリー・充電器・電池 12Vのバッテリーにインバーターを繋ぎましたが使えないんです。教えてください 3 2023/05/18 14:10
- iPhone(アイフォーン) iPhone初心者です 3 2022/07/28 21:49
- Visual Basic(VBA) VB.net 1 2022/08/17 19:28
- カスタマイズ(車) 車の電装品(リヤフォグ)を光らせるのに、以下の様な回路で配線しても電気回路的に大丈夫ですか? リヤフ 13 2022/03/30 09:23
- カスタマイズ(車) 車のセキュリティを、ON/OFFできる方法はわかりませんが、OFFできる方法を教えて下さい。 トヨタ 3 2023/01/02 13:17
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
チェックボックスのON/OFFに応...
-
チェックボックスの設定
-
チェックボックスのON/OFFでVal...
-
【jsp/Java】チェックボックス...
-
チェックボックスを使って条件検索
-
チェックボックスが複数ある場...
-
複数のチェックボックス項目が...
-
JSP内で可変するチェックボック...
-
Objective-Cでチェックボックス...
-
javascriptでチェックボックス...
-
背景色を変えて未入力チェック...
-
メールフォームの未入力チェッ...
-
return trueとreturn falseの用...
-
プルダウン 項目が多いので先頭...
-
submitボタン押下時にPOSTされ...
-
onchangeイベントを強制的に発...
-
大文字か小文字かを判断する方法
-
【jQuery】input nameの文字列...
-
Selectボックスの幅を自動で広...
-
ラジオボタンにタブインデック...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
【jsp/Java】チェックボックス...
-
チェックボックスのON/OFFでVal...
-
チェックボックスのON/OFFに応...
-
複数のチェックボックス項目が...
-
checkboxをクリックしてリロー...
-
チェックボックスの設定
-
チェックボックスで指定したも...
-
フォームのチェックボックスの...
-
チェックボックス
-
配列のチェックボックスをjavas...
-
一つのチェックボックスのON/OF...
-
チェックボックスが複数ある場...
-
スクリプト内でチェックボック...
-
特定のID(またはクラス)で括ら...
-
チェックボックスに連動するテ...
-
<input type="checkbox" checke...
-
チェックボックスに全てチェッ...
-
Nameは配列で、チェックされた...
-
EclipseでSpringを使用し、テー...
-
チェックボックスとラジオボタ...
おすすめ情報