ラジオボタンで段階評価のフォームを作りたい

このQ&Aのポイント
  • Webアンケートで使用するために、ラジオボタンを用いた段階評価のフォームの作り方を知りたい
  • 段階評価のフォームをHTMLとCSSのみで実現する方法を教えてください
  • ラジオボタンの背景に目盛の画像を表示させる方法を教えてください
回答を見る
  • ベストアンサー

ラジオボタンで段階評価

ご覧頂きありがとうございます。 現在、Webアンケートを実施するために、ラジオボタンを用いて、添付画像のような段階評価のフォームを作りたいと考えています。 「SD法」と呼ばれるアンケートの種類に用いるためで、選択肢が等間隔に並んでいることが目盛で分かることが条件です。 作るにあたって、改変が容易である、と言った事を度外視し、とりあえずなるべく少ない言語(出来ればHTMLとCSSと画像のみ)での実現を目指しています。 複数のブラウザ、場合によってはスマートフォンなどでも閲覧することが想定されるためです。 HTML5だとrangeで標準装備になるようですが、HTML4.01で、そしてCSSだけで作れればベストと考えております。 JavaScriptで、スライダーとしても作ってみたのですが、iPadでの感触が良くなかったのもあり、 試行錯誤の結果、ラジオボタンを5つ配置し、その背景に目盛の画像を表示出来れば一番簡単かつ安全ではないか、と思っています。 (CGIでデータを受け渡す予定ですが、CGIに不得手なのもあり、シンプルなソースを目指しています) 以上を踏まえまして、 『ラジオボタンの背景に画像を表示させる方法』 (→ページの背景自体に目盛入りの画像を用意するしかないでしょうか?) をご存知の方がいらっしゃいましたら、お教えて頂ければ幸いです。 また、それよりも簡単な方法で、 『ラジオボタンで段階評価させる方法』 をご存知の方がいらっしゃいましたら、合わせてお願い致します。

この投稿のマルチメディアは削除されているためご覧いただけません。
  • HTML
  • 回答数2
  • ありがとう数2

質問者が選んだベストアンサー

  • ベストアンサー
  • naokita
  • ベストアンサー率57% (1008/1745)
回答No.1

<html> <head> <style type="text/css"><!-- dt{ margin-top:1em;} #test1{ width:240px; height:50px; background: white url(メモリ画像.gif) no-repeat 0 .6em;} #test1 label{ display:block; width:48px; float:left;} /* 上記↑評価1のCSS  下記↓評価2のCSS */ #test2{ width:240px;} #test2 label,#test2 input{ display:block;} #test2 label{ width:48px; float:left; text-indent:6px;} --></style> </head> <body> <div> <dl> <dt>評価1</dt> <dd id="test1"> <label for="r01"><input type="radio" name="test" id="r01">&nbsp;</label> <label for="r02"><input type="radio" name="test" id="r02">&nbsp;</label> <label for="r03"><input type="radio" name="test" id="r03">&nbsp;</label> <label for="r04"><input type="radio" name="test" id="r04">&nbsp;</label> <label for="r05"><input type="radio" name="test" id="r05">&nbsp;</label><br style="clear: left;"> </dd> <dt>評価2</dt> <dd id="test2"> <label for="r06">1<input type="radio" name="test2" id="r06">&nbsp;</label> <label for="r07">2<input type="radio" name="test2" id="r07">&nbsp;</label> <label for="r08">3<input type="radio" name="test2" id="r08">&nbsp;</label> <label for="r09">4<input type="radio" name="test2" id="r09">&nbsp;</label> <label for="r10">5<input type="radio" name="test2" id="r10">&nbsp;</label><br style="clear: left;"> </dd> </dl> </div> </body> </html> 表示方法にCGIは関係ないとして、 背景画像が表示出来ない環境の場合、何も出来なくなりますので、ラジオボタンと関連するテキストを示した方が良いのでは?と感じます。 (それを言えば普通の横一列のフォームボタンになりますがw) 背景で目盛を表示する場合には、各親要素で背景画像を表示すれば可能です。 評価2のように縦にするのも見やすいかも。

turn-it-up
質問者

お礼

ありがとうございます。 labelと言うCSSタグがあるとは知りませんでした。 とても便利そうで、びっくりしております。 ラジオボタンと関連するテキストを縦で(2段で)表示することは考えていたのですが、 1文字の数字だけではなく、「難しい」と「優しい」などの対義語の文字列を両端に表示させる可能性もあり、躊躇しておりました。 回答のソースを参考に、labelを用いて書き直してみましたら、 文字列でもwidthをちゃんと指定すれば、崩れることなくちゃんと表示させられるようですね。 勉強になりました。 とりあえずは、目盛も表示させたいので、画像を用いて製作していこうと思います。 CSSは、なかなかゼロから考えるのが苦手なので、とても勉強になりました。 重ね重ね、ありがとうございました。

その他の回答 (1)

  • fujillin
  • ベストアンサー率61% (1594/2576)
回答No.2

ボーダーの上にラジオボタンを重ねてみました。 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"> <html lang="ja"> <head><title>sample</title> <meta http-equiv="Content-Style-Type" content="text/css"> <style type="text/css"> .hoge { width:8.1em; height:3em; } .hoge div { margin-left:0.8em; width:6.4em; border-bottom:2px groove #888; } .hoge ul { list-style-type:none; position:relative; margin:-0.55em 0 0 0; padding:0; } .hoge ul li { width:1.6em; text-align:center; float:left; } </style> </head> <body> <div class="hoge"> <div>&#160</div> <ul> <li><input type="radio" name="Q1" value="1"><br>1</li> <li><input type="radio" name="Q1" value="2"></li> <li><input type="radio" name="Q1" value="3"></li> <li><input type="radio" name="Q1" value="4"></li> <li><input type="radio" name="Q1" value="5"><br>5</li> </ul> </div> </body> </html>

turn-it-up
質問者

お礼

ご回答ありがとうございます。 「ボーダーを使う方法があるか」、と思わず唸ってしまいました。 これならばブラウザにあまり依存しないことでしょうし、確実ですね。 使用の目的上、画像を背景に配置する方の回答をベストアンサーとさせて頂きましたが、 fujillinさんの発想も素晴らしいと思いました。

関連するQ&A

  • CSSで背景画像の上にラジオボタンを配置したい

    画面のある一部分に背景画像があり(背景画像もCSSで配置したい)、 その背景画像の上にラジオボタンを配置したいのですが、これはCSSで実現できますか? もし可能でしたら具体的なコード(htmlとCSS)を教えていただきたいです。 よろしくお願いします。

    • ベストアンサー
    • CSS
  • ラジオボタンについて

    こんにちは。 複数の項目についてアンケートを行うため、ラジオボタンでユーザに選択して もらおうとするため質問事項を何個か考えました。 年齢、都道府県、血液型、・・・etc HTMLで記述すると年齢のラジオボタンの20代という項目をチェックし、 都道府県の北海道と選択すると以前選択した20代という項目のチェックが 消えてしまいます。 項目ごとにラジオボタンのグループ化ってできないのですか?

    • ベストアンサー
    • HTML
  • FC2ブログにラジオボタンを作りたい

    私はHTMLやCSSに関して全くの素人なのですが、 ラジオボタンをFC2ブログの記事に設置したいと思っています しかし自分で調べようとしてみても、時間が掛かりそうでやる気が起きません 誰かやり方を教えてくれませんか?

  • ホームページのメニューボタンについて

    Dreamweaver CS3でホームページを作成しているのですが、ホームページのメニューボタンについて教えて下さい。 様々なサイトをみるとメニューボタンの作りが色々ありますが、下記の3つの方法それぞれのメリット、デメリットを教えて頂けないでしょうか?SEO対策にはどれがいいのかも教えて頂ければ幸いです。 1.ボタンにphotoshopなどで作成した画像を使用する。 2.ボタンの背景のみphotoshopなどで作成した画像を使用し、文字はHTMLで入力する。 3.文字をHTMLで入力し、CSSで背景の色などをデザインする。 宜しくお願いします。

  • radioボタンの色を変えることはできる?

    radioボタンの色を変えることはできますか? ボタンの色とは正確にはボタンの背景色です。 普通は白ですよね。 もし仮に出来たとしたらその方法を教えてください。

    • ベストアンサー
    • HTML
  • ラジオボタンについて

    今現在ラジオボタンを使うフォームを作成しているのですが、 ラジオボタンがONの時の値を1 ラジオボタンがOFFの時の値を0としてCGIに送信したいと考えております。 リンゴ ○ みかん ○ バナナ ● トマト ○ という形にした時、 リンゴ0 ミカン0 バナナ1 トマト0 と送信されるようにしたいのです。 今のままですと、リンゴ みかん トマトは 何も送信されず バナナだけ1と送信されてしまいます。 何か良い方法はありませんでしょうか?

  • 5段階評価の分析法

    はじめまして。5段階評価(非常に多い・やや多い・普通・やや少ない・非常に少ないのような…)の分析方法を教えてもらいたいと思っております。 一応、アンケートをとりましたが、その結果からどのようにして意味のあるデータを取り出せるかがよくわかりません。 やさしくて詳しい説明よろしくお願いいたします。

  • ラジオボタンが無反応・・・

    選択式アンケートのあるサイトで、ラジオボタンのが反応しません。普通の文章は入力できるのですが、男・女などの選択の欄になるとラジオボタンが反応せずマークできません・・・。ちなみにサイトは「アメトーーク」の観覧募集です。昔は応募できたのですがどんなきっかけで出来なくなったのか、PCに詳しくない私には万策尽きて困っています。 ちなみに今のところこのサイトだけで、他でラジオボタンの選択のときは可能だったようです。どうか方法が分かる方、ご指南ください。

  • 画像や写真を評価

    画像や写真を誰でも投稿でき、尚かつその画像や写真を誰でも評価できるというcgiを探しています 使用の目的として、身近で撮った写真を誰でも投稿してもらい、訪問者によってその写真について評価をしてもらいたいのです 評価の方法は、単なる「投票」というボタンだけでも、段階を選択できるものでも構いません 将来的には有料で作成でどなたかにお願いしても…という思いはあるのですが、今現在は無料でレンタルではないcgiを探しています perlでもphpでも構いません SQLはmySQLです どなたか、 ・要望そのままなスクリプト ・多少のカスタマイズで流用できそう ・これが近い? というようなご意見をよろしくお願い致します

    • 締切済み
    • CGI
  • ラジオボタンを使った簡単なアンケート(javascript希望)

    WEB上でアンケートを行い、その結果で飛び先が変わるページを作りたいと思います。 CGIではなくJavascriptで動かしたいのですが、あまり詳しくありません。原理を教えてもらってもちょっと。。なので、サンプルソースが欲しいのですがどうもみつかりません。 どなたか教えて欲しいです。お願いします! ■作りたいものの概要 アンケートは設問は二問。それぞれYorNの二択で、ラジオボタンで選択させます。 選択後、[結果]ボタンを押すと結果に応じたページが表示されます。 また、結果のパターンはYY,YN,NY,NNの四つのみで、YNとNYは別物と考えます。 ※ラジオボタンはデフォルトでYが選択されている。 ■その例; 設問1:あなたは●●ですか? はい いいえ 設問2:あなたは▼▼ですか? はい いいえ [結果] --------------- それぞれの結果ごとの飛び先をA.html, B.html, C.html, D.htmlとします。

専門家に質問してみよう