1

私はhtmlフォームを持っています。以下は私のhtmlコードです。

ユーザーが他のフィールド情報を入力するのを忘れた場合、市民ステータスを選択するにはどうすればよいですか。

例: ユーザーが市民ステータスを選択し、名を入力しましたが、姓を入力するのを忘れました。次に、「姓を選択してください」というエラーメッセージが表示されます。しかし、エラーメッセージが表示されると、選択したアイテムは空です。php で市民アイテムを選択するにはどうすればよいですか。

<tr>
   <td width="400">Status</td>
   <td>
      <select name="civil_status">
         <option value="">Select..</option>
         <option value="mr.">Mr.</option>
         <option value="mrs.">Mrs.</option>
         <option value="miss">Miss</option>
      </select>
   </td>
</tr>
<tr>
   <td>Last Name</td>
   <td><input type="text" name="l_name" value="<?php if(isset($_POST['l_name'])) echo 
         $_POST['l_name']; ?>" class="tr2" /></td>
</tr>
<tr>
   <td>First Name</td>
   <td><input type="text" name="f_name" value="<?php if(isset($_POST['f_name'])) echo 
         $_POST['f_name']; ?>" class="tr2" /></td>
</tr>
4

2 に答える 2

3

私はします:

<select name="civil_status">
<option value="">Select..</option>

<?php

$options = array('mr.' => 'Mr.', 'mrs.' => 'Mrs.', 'miss' => 'Miss');

foreach($options as $key => $value){

    if($_POST['civil_status'] == $key){
        echo '<option value="'.$key.'" selected="selected">'.$value.'</option>';
    }else{
        echo '<option value="'.$key.'">'.$value.'</option>';
    }

}

?>

</select>
于 2012-11-03T11:11:19.627 に答える
0

selected="selected"対応する<option>-Tagにを追加する必要があります。何かのようなもの:

<option value="">Select..</option>      
<option value="mr." selected="selected">Mr.</option>        
<option value="mrs.">Mrs.</option>
<option value="miss">Miss</option>

これは、の値に基づく原因です$_POST['civil_status']

編集: 迅速で汚い:

<?php
if (isset($_POST['civil_status'])) $cs = $_POST['civil_status'];
else $cs = '';
?>
<option value="" <? if ($cs=='') echo 'selected="selected"'; ?>>Select..</option>      
<option value="mr." <? if ($cs=='mr.') echo 'selected="selected"'; ?>>Mr.</option>        
<option value="mrs." <? if ($cs=='mrs.') echo 'selected="selected"'; ?>>Mrs.</option>
<option value="miss" <? if ($cs=='miss') echo 'selected="selected"'; ?>>Miss</option>
于 2012-11-03T11:08:35.120 に答える