2012-04-25 8 views
0

私はそれが色のリストを送信することを期待します。 htmlでは、入力がリストの場合、同じ名前でなければならないが、ラジオ入力の同じ名前、同じグループになるはずだから、各ラジオグループをどのように分割するかは同じだが、サーバー側でリストのすべての値を取得しますか?htmlのラジオ・グループのリストにラジオの名前を付けるにはどうすればいいですか?

また、クライアント側では、私は、各グループが選択されているかどうかを確認する必要があるので、どのようにすべてのラジオ・グループではなく、すべてのラジオボタンを選択するために、JavaScriptやjQueryのを使用します。

<form method="post"> 
Car A: <input type="radio" name="color[]"/>red <input type="radio" name="color[]"/>yello<br/> 
Car B: <input type="radio" name="color[]"/>red <input type="radio" name="color[]"/>yello<br/> 
Car C: <input type="radio" name="color[]"/>red <input type="radio" name="color[]"/>yello<br/> 
<input type="submit"/> 
</form> 
+1

を車。 – GillesC

+0

あなたは入力の値を取得するためにphpを使用して、フォームの送信時に何をしようとしているものと比較することができます。 PHPでは、これはおそらく配列に変換することができます。 –

+0

jQueryはJavaScriptライブラリであり、JavaScriptの代替手段ではありません。 "javascriptまたはjquery"というフレーズは意味をなさない。 – Quentin

答えて

5

各グループのラジオボタンの名前はそれぞれ異なります。

全てのグループを選択したかどうかの確認
Car A: 
<input type="radio" name="color1"/>red 
<input type="radio" name="color1"/>yello<br/> 

Car B: 
<input type="radio" name="color2"/>red 
<input type="radio" name="color2"/>yello<br/> 

Car C: 
<input type="radio" name="color3"/>red 
<input type="radio" name="color3"/>yello<br/> 

if ($('input[type="radio"]:checked').length == 3) 
    validAction(); 
else 
    invalidAction(); 

をあなたが彼らのname属性がcolorで始まる要素だけに、セレクタを制限することができます。

if ($('input[type="radio"][name^="color"]:checked').length == 3) 
1

グループのすべてのメンバー同じ名前でなければなりません。すべてのグループには異なる名前が必要です。

ループでデータを表示するためにPHPの命名規則に賛成したい場合は、最初のグループにはgroup[0]、次のグループにはgroup[1]などのような規約を使用します。これにより、クライアント上で一意の名前が付けられますが、PHPはそれらを配列にマージします。

あなたはの線に沿って何かを行うことができ、クライアント側で

:あなたは、各無線グループは、そうでなければ、そのためである色のフォームを受信したとき、あなたが知っていますか、別の名前を使用しなければならないことはできません

var i = 0, myform = /* something */; 
while (myform.elements['group[' + i + ']']) { 
    var group = myform.elements['group[' + i + ']']; 
    /* Loop over HTML Element Collection to make sure one item is `checked`. */ 
} 
関連する問題