2009-10-07 3 views
6

ラジオボタンの前に2つのラベルのいずれかをクリックすると、ラジオボタンを選択する方法を教えてください。ラジオボタンをクリックしてクリックする

私はラジオボタンのコード次いる

:私はラジオのIDを変更した場合、それは正常に動作したのですが、私は、私は、データベースに保存するように末尾に、その値を必要とする同じidの原因を必要とする

<div class="label_main" style="width:350px"> 
    <div class="label_radio"> 
     <input type="radio" name="group1" id="group1" value="0" 
     <?php if($r0==0) { ?> 
     checked="checked" 
     <?php } ?> 
     /> 
    </div> 
    <div class="label_top"> 
     <label for="group1">First Option </label> 
    </div> 
    <div class="label_desc"> 
     <label for="group1">This is first option </label> 
    </div> 
    </div> 
     </div> 

    <div class="label_main" style="width:350px"> 
    <div class="label_radio"> 
     <input type="radio" name="group1" id="group1" value="1" 
     <?php if($r0==1) { ?> 
     checked="checked" 
     <?php } ?> 
     /> 
    </div> 
    <div class="label_top"> 
     <label for="group1">Second Option </label> 
    </div> 
    <div class="label_desc"> 
     <label for="group1">This is Second Option </label> 
    </div> 
    </div>   

唯一の問題を。

+1

ラジオボタンは同じ名前でなければなりませんが、同じ「id」を持つことはできません。 HTMLでは 'id'が一意であることが必要です。 – Powerlord

答えて

15

name属性をid属性と混同しています。

これらの名前はそれぞれ同じ名前である必要があります。例えば

:入力の

<input type="radio" name="group1" id="group1_0" value="0"> 
<input type="radio" name="group1" id="group1_1" value="1"> 

<label for="group1_0">CLicky 0</label> 
<label for="group1_1">CLicky 1</label> 
1

IDと名前が同じである必要はありません。名前を残して、2番目のラジオのIDを別のものに変更します(2番目のラベルの「for」属性をそのIDに変更します)。 フォームをサーバーに送信すると、「名前」属性によって値が取得されます。サーバーはIDについて何も知らない。

+1

私はJquery経由でフォームを送信していません。値を取得するためにIDタグを使用しています... – air

+0

jQuery(または一般的なJavaScript)はこれと関連がありません。 idはタグではなく、属性です。 いいえ、サーバーに送信すると、IDの名前ではなくフィールドの値にアクセスします。なぜなら、私が言ったように、サーバーはIDについて何も知らないからです。 –

関連する問題