「夫を成功」へ導く妻の秘訣 座談会

ラジオボタンで診断テストを作成したい

Yes、No形式で10問のラジオボタンから選択し、
Yesの数に応じ5通りのリンク先にジャンプするようなサイトを作成しようと思っています。

調べているうちに下記のような同様の質問を発見したのですが、
http://detail.chiebukuro.yahoo.co.jp/qa/question …
これだと2の10乗、1024通りのリンクを設定しないといけません。

例えばYesを1、Noを0などの数値に置き換えて、
Yesの数が1-3個は"http://~~"、4-6個は"http://~~"
という風には設定できないのでしょうか?

わかりにくい説明で申し訳ありませんが、
よろしくお願いします。

このQ&Aに関連する最新のQ&A

A 回答 (6件)

他の方の回答から一部もらってますがサンプルです。



<script type="text/javascript">
function sample(F){
var list = {
0:'htp://example.com/a.html',//0以下
2:'htp://example.com/b.html',//2以下
5:'htp://example.com/c.html',
8:'htp://example.com/d.html',
10:'htp://example.com/e.html'
};
var i=0;
var q;
var c=0;
var key=0;
while( q = F.elements[ i++ ] )
if(q.type=='radio' && q.checked) c+= parseInt(q.value);

for(key in list) {
if(c <= parseInt(key)) {
location.href = list[key];
break;
}
}
return false;
}
</script>

</head>
<body>

<form onsubmit="return sample(this)">
<p>
Q1.
<label><input type="radio" name="q1" value="1" checked>Yes</lebel>
<label><input type="radio" name="q1" value="0">No</lebel>
</p>
<p>
Q2.
<label><input type="radio" name="q2" value="1" checked>Yes</lebel>
<label><input type="radio" name="q2" value="0">No</lebel>
</p>
~略~
<input type="submit" value="診断">
</form>

Yesのvalueを2以上にしたり、
Yesを0、Noを1にすることで結果予測をしずらくすることもできます。
    • good
    • 0

>babu_babooさん


あ、そうかぁ。アレではグローバル変数になってしまうんですね^^;
1つ勉強になりました、ありがとうございます。

var
i,
r = document.getElementById("form1").getElementsByTagName( 'input' ),
yc = 0,
nc = 0;

に訂正します。
    • good
    • 0

nc って、ぐろ~ばるだじょ!ええのんかぁ~

    • good
    • 0

あ~ちぇっくがあまかった。


どっちみち、radio で checked == true で value="yes" をかうんとするだけ

<!DOCTYPE html>
<title></title>
<body>
<form action="#">
<p>
<input type="radio" name="q1" value="yes" checked>
<input type="radio" name="q1" value="no">
</p>
<p>
<input type="radio" name="q2" value="yes" checked>
<input type="radio" name="q2" value="no">
</p>
<p>
<input type="button" value="check" onclick="jump()">
</p>
<script type="text/javascript"><!--


function jump() {
 var c = 0,
   i = 0,
   p = document.getElementsByTagName( 'input' ),
   q;

 while( q = p[ i++ ] )
  c += ('radio' == q.type && q.checked && 'yes' == q.value);

 location.href=[
  'htp:ww0.ne.jp',
  'htp:ww1.ne.jp',
  'htp:ww2.ne.jp',
  'htp:ww3.ne.jp'
 ][c];
}
</script>
    • good
    • 0

<script type="text/javascript">


<!--
function sample() {
var
i,
r = document.getElementById("form1").getElementsByTagName( 'input' ),
yc = nc = 0;

for( i = 0; i < r.length; i+=2 ){
if( r[i].type == 'radio' && r[i+1].type == 'radio'){
yc += ( r[i].checked ); nc += ( r[i+1].checked );
}
}
if( yc + nc != 10 ){
window.alert("いくつかチェックし忘れています。");
return false;
}
alert(yc);

return false;
}
//-->
</script>
</head>
<body>
<form name="form1" id="form1" action="#" onsubmit="return sample();">
<p>
<label for="y1"><input type="radio" name="q1" id="y1" value="yes">yes</label>
<label for="n1"><input type="radio" name="q1" id="n1" value="non">non</label>
</p>
<p>
<label for="y2"><input type="radio" name="q2" id="y2" value="yes">yes</label>
<label for="n2"><input type="radio" name="q2" id="n2" value="non">non</label>
</p>
<p>
<label for="y3"><input type="radio" name="q3" id="y3" value="yes">yes</label>
<label for="n3"><input type="radio" name="q3" id="n3" value="non">non</label>
</p>
<p>
<label for="y4"><input type="radio" name="q4" id="y4" value="yes">yes</label>
<label for="n4"><input type="radio" name="q4" id="n4" value="non">non</label>
</p>
<p>
<label for="y5"><input type="radio" name="q5" id="y5" value="yes">yes</label>
<label for="n5"><input type="radio" name="q5" id="n5" value="non">non</label>
</p>

※※文字数制限につき中略※※

<p>
<label for="y8"><input type="radio" name="q8" id="y8" value="yes">yes</label>
<label for="n8"><input type="radio" name="q8" id="n8" value="non">non</label>
</p>
<p>
<label for="y9"><input type="radio" name="q9" id="y9" value="yes">yes</label>
<label for="n9"><input type="radio" name="q9" id="n9" value="non">non</label>
</p>
<p>
<label for="ya"><input type="radio" name="qa" id="ya" value="yes">yes</label>
<label for="na"><input type="radio" name="qa" id="na" value="non">non</label>
</p>
<p><input type="submit" value="check"></p>
</form>
</body>
</html>

とか。
あとはyes/nonの数を元にどのように分岐したいのかを提示すれば、
より良い回答がつくと思います
    • good
    • 0

にちようび。



こんなのは?(ぜんかくくうはくは、はんかくに)

function jump() {
 var c = 0,
   i = 0,
   p = document.getElementsByTagName( 'input' ),
   q;

 while( q = p[ i++ ] )
  c += ('radio' == q.type && q.checked);

 location.href=[
  'htp:ww0.ne.jp',
  'htp:ww1.ne.jp',
  'htp:ww2.ne.jp',
  'htp:ww3.ne.jp'
 ][c];
}
    • good
    • 0

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Q【診断テストの作り方】結果に応じて数字を変動させる

ラジオボタンを使って参考サイトのような診断テストを作りたいと思っています。
【参考サイト】
http://cgi.geocities.jp/socialpsychotan/test/shindan.php

ただ少し違うのが、あらかじめユーザーに

あなたが思う自分自身の人間力は?
「    」点

といったように数値を入力させ、診断結果とユーザー入力の数値を掛け合わせた
点数を表示する仕組みにしたいと考えています。

診断テストは全部で20問程度用意し、それぞれの質問に点数を仕込み
100点~80点ならユーザーが入力した数値×1.5
79点~60点ならユーザーが入力した数値×1.3
といったように表示させたいです。

下記のようなサイトを参考に、
http://jsfiddle.net/Tenderfeel/PFRCQ/
ラジオボタンのチェックで異なる答えを表示することはできるのですが
診断結果により数値を変動させる仕組みがわかりません。

お手数ですがご教授いただけないでしょうか。
よろしくお願いします。

ラジオボタンを使って参考サイトのような診断テストを作りたいと思っています。
【参考サイト】
http://cgi.geocities.jp/socialpsychotan/test/shindan.php

ただ少し違うのが、あらかじめユーザーに

あなたが思う自分自身の人間力は?
「    」点

といったように数値を入力させ、診断結果とユーザー入力の数値を掛け合わせた
点数を表示する仕組みにしたいと考えています。

診断テストは全部で20問程度用意し、それぞれの質問に点数を仕込み
100点~80点ならユーザーが入力した数値×1.5
79...続きを読む

Aベストアンサー

シンプルに作るとこんな感じですかね

<body>

<script>

function getCheckTotal(){
$radio = $(':radio');
var total = 0;

$radio.filter(':checked').map(function(){
total += Number(this.value);
});
return total;
}

function calculate(){
//入力数値を取得
var inputPointString = $("#inputPoint").val();
//文字列で取得しているので数値に変換
var inputPoint = parseInt(inputPointString);
var checkTotal = getCheckTotal();
var calculateTotal = 0;

if(checkTotal >= 80){
calculateTotal = inputPoint* 1.5;
}
if(79 >= checkTotal && checkTotal >= 60){
calculateTotal = inputPoint* 1.3;
}
if(59 >= checkTotal && checkTotal >= 40){
calculateTotal = inputPoint* 1.3;
}
if(39 >= checkTotal){
calculateTotal = inputPoint;
}
if(isNaN(calculateTotal)){
$("#calculateTotal").val("未選択の項目があります");
}
else{
$("#calculateTotal").val(calculateTotal);
}

}

</script>
点数は?<input type="text" id="inputPoint" />
<fieldset>
<legend>質問1</legend>
<label><input type="radio" name="c1" value="10" /> はい</label>
<label><input type="radio" name="c1" value="5" /> どちらでもない</label>
<label><input type="radio" name="c1" value="1" /> いいえ</label>
</fieldset>
<fieldset>
<legend>質問2</legend>
<label><input type="radio" name="c2" value="10" /> はい</label>
<label><input type="radio" name="c2" value="5" /> どちらでもない</label>
<label><input type="radio" name="c2" value="1" /> いいえ</label>
</fieldset>
<fieldset>
<legend>質問3</legend>
<label><input type="radio" name="c3" value="10" /> はい</label>
<label><input type="radio" name="c3" value="5" /> どちらでもない</label>
<label><input type="radio" name="c3" value="1" /> いいえ</label>
</fieldset>
<button id="check" onclick="calculate()" >診断</button>

計算結果<input type="text" id="calculateTotal"/>
</body>

シンプルに作るとこんな感じですかね

<body>

<script>

function getCheckTotal(){
$radio = $(':radio');
var total = 0;

$radio.filter(':checked').map(function(){
total += Number(this.value);
});
return total;
}

function calculate(){
//入力数値を取得
var inputPointString = $("#inputPoint").val();
//文字列で取得しているので数値に変換
var inputPoint = parseInt(inputPointString);
var checkTotal = getCheckTotal();
var calculateTo...続きを読む

Q診断サイトの作り方

http://kantei.am/13107/

このようなサイトをJavascriptでつくってみたいと思いました。
やり方などが載っているサイトがあれば教えてください。

Aベストアンサー

大雑把にこんなかんじ
あとは工夫してください。

<script>
function calc(f){
var sum=0;
for(var i=0;i<f.length;i++){
if(f[i].type=="radio" && f[i].checked) sum+=parseInt(f[i].value);
}
f.judge.value=sum;
}
</script>
<form>
Q1.<br>
<input type="radio" name="Q1" id="Q1_1" value="1"><label for="Q1_1">1点</label><br>
<input type="radio" name="Q1" id="Q1_2" value="5"><label for="Q1_2">5点</label><br>
<input type="radio" name="Q1" id="Q1_3" value="10"><label for="Q1_3">10点</label><br>
Q2.<br>
<input type="radio" name="Q2" id="Q2_1" value="1"><label for="Q2_1">1点</label><br>
<input type="radio" name="Q2" id="Q2_2" value="5"><label for="Q2_2">5点</label><br>
<input type="radio" name="Q2" id="Q2_3" value="10"><label for="Q2_3">10点</label><br>
Q3.<br>
<input type="radio" name="Q3" id="Q3_1" value="1"><label for="Q3_1">1点</label><br>
<input type="radio" name="Q3" id="Q3_2" value="5"><label for="Q3_2">5点</label><br>
<input type="radio" name="Q3" id="Q3_3" value="10"><label for="Q3_3">10点</label><br>

<input type="text" name="judge" value="0" >
<input type="button" value="判定" onClick="calc(this.form)">
</form>

大雑把にこんなかんじ
あとは工夫してください。

<script>
function calc(f){
var sum=0;
for(var i=0;i<f.length;i++){
if(f[i].type=="radio" && f[i].checked) sum+=parseInt(f[i].value);
}
f.judge.value=sum;
}
</script>
<form>
Q1.<br>
<input type="radio" name="Q1" id="Q1_1" value="1"><label for="Q1_1">1点</label><br>
<input type="radio" name="Q1" id="Q1_2" value="5"><label for="Q1_2">5点</label><br>
<input type="radio" name="Q1" id="Q1_3" value="10"><l...続きを読む

QYES or NO形式で進んで行く、タイプ別診断を作る糸口を教えてください。

初めて質問させていただきます。
どうぞよろしくお願いします。

農林水産省のページの中にみんなでごはん、タイプ別診断
というYES or NO形式で進んで行くページがあります。

http://www.maff.go.jp/j/seisan/kakou/mezamasi/family/type.html

これがそのページのURLです。

このページと同様のものを私ども会社のホームページに作って載せようと、
先週から色々と調べたのですが、どうにもこうにも糸口がつかめません。

どなたがご存知の方がおられましたら、どうぞご伝授ください。

私は少々htmlの知識がある程度ですので、できるだけ分かり易く、
具体的にお教えいただけるとありがたいです。

それではどうぞよろしくお願い申し上げます。

Aベストアンサー

とっても簡単なもの・・・以前回答した
 ⇒フルスクリーンについて・・・ - JavaScript | 教えて!goo( https://oshiete.goo.ne.jp/qa/8137881.html )
とか・・

Q適性診断テストみたいなものを作りたいのですが

質問させて頂きます。このカテゴリで良いのか分かりませんが、間違っていたら、すみません。
僕は今、シャンプーの販売サイトを運営しているのですが、そのコンテンツとして商品の適性診断みたいなのを作りたいと思っています。
具体的に申しますと、例えば、質問項目に「かゆみが出やすい」を「yes」か「no」で選択させ、選択すると次のページに移り、そこでまた質問項目に「ふけが出やすい」を「yes」か「no」で選択させ、これをいくつか続け、最後に、「あなたに適している商品は○○です」みたいな感じにしたいと思っています。PHPやCGIの知識はほんの少し程度しかありませんが、自作できればそれが一番良いのですが。あまり高度は知識がないとやはり無理でしょうか。例えば、無料のPHPスクリプトやCGIスクリプトみたいなのがあればいいなとも思っています。自分でももちろん色々調べたのですが、力不足で見当たりません。
漠然とした質問になってしまいましたが、とにかく質問項目も5,6個程度で商品も10個ぐらいなので、簡単なもので構いません。どなたかよろしくお願いします。

Aベストアンサー

失礼しました。6通りじゃなく、2の3乗=8通りの組み合わせですよね。
-db.datの中身を、以下のように変えて下さい。
Y,Y,Y,商品1
Y,Y,N,商品2
Y,N,N,商品3
Y,N,Y,商品4
N,Y,Y,商品5
N,N,Y,商品6
N,N,N,商品7
N,Y,N,商品8

Q「Yes,Noチャート」の作成方法

「Yes,Noチャート」の作成方法

はじめて利用させていただきます

仕事でいわゆる「Yes,Noチャート」を作らなければならないのですが、
作り方がわかりません。

以前、質問された方に対する回答も見たのですが、
よくわかりませんでした

私が作りたいのは、質問に対してYes、Noの矢印をたどって答えていくと
A,B,C,Dの4つのタイプのどれかにあてはまる、というものです。
「あなたはAタイプ!」「あなたはBタイプ!」みたいな、
よく雑誌などで見かけるものです。

ちなみに、webでなくて紙媒体に掲載する予定です。

具体的に、わかりやすく教えていただけますよう、
どうか、よろしくお願い申し上げます。

Aベストアンサー

あのね、数学だったら
1+1は?

 に、対して
→0
→1
→2

で、3番目しか矢印は組めないけど、言葉なんだから
1+1は?
に対して
→2
→みかん
→小沢総理


と、何でもいいんですよ、難しく考えるから難しくなっちゃうんです

Qフルスクリーンについて・・・

質問に対し、はい/いいえを選択し答えを出すチャート式を使ったサイトを作成しています。
よくある病気等を診断する感じのサイトです。

質問は、div idにquestion1~10を指定。
選択肢のはい/いいえには、a hrefに#question1~10を指定。
答えは、#answer1~3

1ページで完結する簡単なものになっています。
問題はスクロールすると全て見えてしまう事です。
また、画面サイズによってスクロールしなくても次の質問が見えてしまいます。

そこで、jsやjqで回避できないか質問したいです。
htmlとcss以外の知識がないため知恵を貸していただきたいです。

#questionを1つだけフルスクリーンで表示させることはできるでしょうか?
もちろんスクロールはできない仕様で。

#question1~10を個別の.htmlに変えるやり方はできれば避けたいです。
可能であればイメージのスライドショー的なスムーズに画面が変わる感じにしたいです。

もしjqのプラグインやjs、css3などで動作できるのであれば教えてほしいです。
よろしくお願いします。

質問に対し、はい/いいえを選択し答えを出すチャート式を使ったサイトを作成しています。
よくある病気等を診断する感じのサイトです。

質問は、div idにquestion1~10を指定。
選択肢のはい/いいえには、a hrefに#question1~10を指定。
答えは、#answer1~3

1ページで完結する簡単なものになっています。
問題はスクロールすると全て見えてしまう事です。
また、画面サイズによってスクロールしなくても次の質問が見えてしまいます。

そこで、jsやjqで回避できないか質問したいです。
htmlとcss以外の知識...続きを読む

Aベストアンサー

一部修正
★No.4のHTML中
・__<div class="section answer" id="A1">直前の
_</ol>
 は削除すること
・印刷用スタイルシート中_#Q7{page-break-after:always;}
は、_#A1{page-break-before:always;}
 のほうが良いです。必ず答えのページ直前で改ページされます。

No.5 のHTML5用のスタイルシートです。
★HTML5では原則としてDIVは使いません。
Authors are strongly encouraged to view the div element as an element of last resort, for when no other element is suitable. Use of more appropriate elements instead of the div element leads to better accessibility for readers and easier maintainability for authors.( http://www.w3.org/TR/2012/CR-html5-20121217/grouping-content.html#the-div-element )
著者は、div 要素は、他に適切な要素がないときなど、最後の最後手段として使用することが強く推奨されます。div 要素の代わりにより適切な要素を使うことで、読者にとってはアクセシビリティの向上に、著者にとってはメンテナンスの向上につながる。

★jsを使うより、はるか簡単になり、あらゆる面で優れているといえるでしょう。
 先で【HTMLに手を加えることなく】デザインを全く変えることもできますしね。

<style type="text/css" media="screen">
<!--
html{margin:0;padding:0;height:100%;}
span{display:none;}
body{margin:0 auto;width:80%;height:100%;position:relative;min-width:480px;max-width:900px;}
header{height:100px;position:fixed;width:80%;}

/* ここから */
section{
width:90%;height:70%;margin:110px auto;
position:absolute;overflow:hidden;
}
section section{
height:100%;width:100%;margin:0;
position:static;
}
/* ここまで */

section.answer h2{font-size:60px;}
section{border:ridge green 5px;text-align:center;}
section section{border:none;}
section#A1{background-color:lime;}
section#A2{background-color:fuchsia}
section#A3{background-color:aqua;}
footer h2{display:none;}
footer{position:absolute;bottom:0;}
header{background-color:yellow;}
-->
</style>
<style type="text/css" media="print">
a{color:black;text-decoration:none;}
#A1{page-break-before:always;}
</style>

一部修正
★No.4のHTML中
・__<div class="section answer" id="A1">直前の
_</ol>
 は削除すること
・印刷用スタイルシート中_#Q7{page-break-after:always;}
は、_#A1{page-break-before:always;}
 のほうが良いです。必ず答えのページ直前で改ページされます。

No.5 のHTML5用のスタイルシートです。
★HTML5では原則としてDIVは使いません。
Authors are strongly encouraged to view the div element as an element of last resort, for when no other element is suitable. Use of more appropriate e...続きを読む

Qラジオボタンの値でリンク先を変える

ラジオボタンのvalueの値があり、
submitボタンを押したら、その値によって
リンク先を変えたいのですが、
具体的にソースで教えていただけないでしょうか?

Aベストアンサー

同じ name 値のオブジェクトが複数ある場合、それらは配列扱いとなるので No.1 の方法では処理できません。
このような場合はループでラジオボタンを1つずつ見て、checked プロパティが true のものを探して処理します。

また、HTML に checked が書かれているラジオボタンが1つもなければ、どれもチェックされていない時の処理も必要になります。

それと、リンク先変更関数の呼び出しについてですが、送信処理に関する関数の呼び出しは必ず FORM タグの onSubmit で行うようにします。
でないと、ラジオボタンにフォーカスがある時に Enter キーによって送信されてしまうのをチェックすることができません。

以下、それらを踏まえたサンプルです。

# スクリプト部
(インデントなどに全角空白を使用しているので、コピペの際は注意!)

// ラジオボタンに対応するURLの配列
var actions = new Array(
  "URL1",
  "URL2"
);

function setAction(f) {
  for (var i = 0; i < f.rb1.length; i++) {
    if (f.rb1[i].checked) {
      f.action = actions[i];
      return true;  // true を返すと送信される
    }
  }

  // ラジオボタンがチェックされていない時の処理
  ※以下参照
}

※エラーにする場合
  alert("ラジオボタンをチェックしてください。");
  return false;  // false を返すと送信されない

※デフォルトの送信先に飛ばせる場合
  f.action = "デフォルトのURL";
  return true;
  
# フォーム部
<FORM onSubmit="return setAction(this)">
<INPUT type="radio" name="rb1" value="a">aaa<br>
<INPUT type="radio" name="rb1" value="b">bbb<br>
<INPUT type="submit">
</FORM>

下記ページも参考になります。
http://tohoho.wakusei.ne.jp/js/form.htm#ElmButton

参考URL:http://tohoho.wakusei.ne.jp/js/form.htm#ElmButton

同じ name 値のオブジェクトが複数ある場合、それらは配列扱いとなるので No.1 の方法では処理できません。
このような場合はループでラジオボタンを1つずつ見て、checked プロパティが true のものを探して処理します。

また、HTML に checked が書かれているラジオボタンが1つもなければ、どれもチェックされていない時の処理も必要になります。

それと、リンク先変更関数の呼び出しについてですが、送信処理に関する関数の呼び出しは必ず FORM タグの onSubmit で行うようにします。
でないと、ラジ...続きを読む

QjQueryを使った診断チェックシート

チェックシートの事で質問させて頂きます。

ラジオボタンを使って診断結果を表示させたのですが、どう書けばいいのか迷っています。
内容は

Q1.あなたの好きな動物は?(◯はラジオボタンです)
◯犬 ◯猫 ◯鳥

Q2.あなたの好きな食べ物は?
◯ハンバーグ ◯グラタン ◯スパゲッティ

Q3.あなたの好きな色は?
◯赤 ◯青 ◯黄色

のような質問を出して、それぞれのラジオボタンのValueに数値を入れておいて
ボタンを押した時、Q1~Q3の合計点によって異なる結果を出したいと思っています。

このような診断チェックのプログラムをご存知の方がいたら
ぜひ教えて頂けないでしょうか。
よろしくお願いします。

Aベストアンサー

jQueryにはラジオボタンのセレクターが用意されているので
それを使うと簡単にラジオボタンだけ処理することができます。

$('input:radio')

すべてのラジオボタンの中からチェックされたものだけ得る場合は:checkedです。

$(':radio:checked')
または
$('input:radio').filter(':checked')

これをmapで処理してvalueを足せば合計点が計算できます。

var total = 0;
$(':radio:checked').map(function(){
total += Number(this.value);
});

診断ボタンを押した後に結果を表示するのなら、
上記の計算と結果の分岐・表示をボタンのクリックイベントで行います。

$('診断ボタン').click(function() {
//合計点の計算
//結果分岐・表示
});

http://jsfiddle.net/Tenderfeel/PFRCQ/

Qチェックボックスから複数のvalueを取り出す

HTMLフォームから、action="file.php"でデータの受け渡し→PHPで送られてきたvalueに応じて文章を出力、というプログラムを作っています。

例:
グループAのラジオボタン1にチェック、送信
→グループAで押されたラジオボタンを送信されたvalueで判別、この場合はvalue==A
→value==Aの場合に表示する文章を変数に受け渡し、その変数で表示

ラジオボタン、テキストボックスのvalueは$_POST['XXX']で取り出せたのですが、チェックボックスのデータだけが取り出せません。こちらの質問を検索したとき、多次元配列という言葉を見かけたのですが、いまいちよく分かりませんでした。
チェックボックスの複数のvalueで、上記の例のような動きを実現させるにはどうしたらいいでしょうか。どなたかご教授ください。

Aベストアンサー

チェックボックスはちょっと特殊

まずHTML部分で、以下のように定義します
<input type="checkbox" name="sample[]" value="test1">test1
<input type="checkbox" name="sample[]" value="test2">test2

ここでは、nameの部分に[]をつけるのがポイント


次にphpで受け取る方法として、
$sample = $_POST["sample"];
で問題ありません。

受け取ったデータを使うときは、$sampleは配列になっていますので、
仮に上記のtest1とtest2両方にチェックが付いているとしたら、
$sample[0]にはtest1が、$sample[1]にはtest2が入っています。

$sampleをforeachで使うか、$sampleのデータ数を調べてforでループさせるなどで使えます。


人気Q&Aランキング