0

私は最近、チェックされたラジオボタンを再入力する方法を見つけました..しかし、チェックされたものが最初のボタンであっても、最後のボタンを再入力するためにジャンプする理由がわかりません。私は自分の間違いを見つけることができません.いくつかできることを願っています..どうもありがとう..

 <tr>
        <td class="right text">Title:</td>
        <td><input type="radio" name="sex" value="Mr." <?php if (isset($_POST['sex']) == "Mr.") echo "checked"; ?>>Mr.</td></tr>
    <tr><td></td><td><input type="radio" name="sex" value="Mrs." <?php if (isset($_POST['sex']) == "Mrs.") echo "checked"; ?>>Mrs.</td></tr>
    <tr><td></td><td><input type="radio" name="sex" value="Ms." <?php if (isset($_POST['sex']) == "Ms.") echo "checked"; ?>>Ms.</td></tr>
4

2 に答える 2

0

3 つのラジオ ボタンすべてに対してこれを変更します。

<?php if ( isset($_POST['sex']) && $_POST['sex'] == "Mr.") echo "checked"; ?>
于 2013-10-12T03:09:38.433 に答える
-1

あなたのテストは間違っています。POST フィールド「sex」が設定されているかどうかをテストしています。すると、「これはこの値と同等ですか?」ということになります。したがって、ブール値を取得して文字列と比較しています。したがって、テストはどれも機能しません。

これを行う最善の方法は、テストを配列に移動することです。つまり、テストが少なくなり、HTML がよりクリーンになります。

<?php
$data = array('Mr.' => null, 'Mrs.' => null, 'Ms.' => null);
if(isset($_POST['sex'])) $data[$_POST['sex']] = ' checked="checked"';
?>
<td><input type="radio" name="sex" value="Mr."<?php echo $data['Mr.'] ?> />Mr.</td></tr>
<tr><td></td><td><input type="radio" name="sex" value="Mrs."<?php echo $data['Mrs.'] ?> />Mrs.</td></tr>
<tr><td></td><td><input type="radio" name="sex" value="Ms."<?php echo $data['Ms.'] ?> />Ms.</td></tr>
于 2013-10-12T03:16:32.117 に答える