2013-10-12 24 views
0

我最近發現如何重新填充選中的單選按鈕..但我不知道爲什麼現在它跳躍重新填充最後一個即使被檢查的是第一個。 我找不到我的錯誤,我希望有能..謝謝..很多PHP我檢查if語句重新填充選中的按鈕不起作用

<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> 

回答

0

改變這所有三個單選按鈕。

<?php if (isset($_POST['sex']) && $_POST['sex'] == "Mr.") echo "checked"; ?> 
+0

非常感謝我的朋友。 – JV17

+0

@ JV17很高興我能幫助,接受的答案是否奏效。 – vbrmnd

0

你的測試是錯誤的。您正在測試以查看是否設置了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>