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

更改所有三个单选按钮。

<?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 回答