0

我有一个带有输入类型选择的表单,但是当页面提交并回发错误消息时选择值是干净的,我尝试使用单选按钮(选中未选中)来保留该值,但它不起作用。

//HTML///////////////////////////////////////////////////////////////////
<select name="age">
     <option value="">Age</option>
     <option value="14-17" <?PHP echo $age_14; ?>>14 - 17</option>
     <option value="18-29" <?PHP echo $age_18; ?>>18 - 29</option>
</select>

//PHP////////////////////////////////////////////////////////////////////
$age_14="unchecked";
$age_18="unchecked";

$age=$_POST['age'];
  if($age=='14-17'){$age_14="checked";}
  else if($age=='18-29'){$age_18="checked";}
4

3 回答 3

1

对于select框,属性是selected,而不是checked。您也不需要该unchecked属性。

于 2012-12-08T13:59:33.650 回答
1

使用select标签,您必须使用selected="selected"not checked

尝试:

$age_14 = "";
$age_18 = "";

$age = $_POST['age'];
if ($age == '14-17') {
    $age_14 = 'selected="selected"';
} elseif ($age == '18-29') { 
    $age_18 = 'selected="selected"';
}
于 2012-12-08T13:59:52.457 回答
1

没有checked属性。您需要使用selected

$age=$_POST['age'];
$age_14 = $age=='14-17'?"selected":"";
$age_18 = $age=='18-29'?"selected":"";
于 2012-12-08T14:00:34.190 回答