基本上,我的表單會在提交時POST自己,但是我希望用戶的選擇值保留在任何錯誤輸出的情況下。一個Select元素的PHP數據保留 - 尋找一個優雅的解決方案
我知道如何做到這一點對於大多數表單元素,但是,當我使用select時,我很難過。
這是我目前的解決方案,我正在尋找更優雅的東西,有幫助嗎?
<select name="birthday_month" id="dob_month" label="Month" class="" >
<option value="-1">M</option>
<option value="1" <?php if(isset($_POST['birthday_month']) && 1 == $_POST['birthday_month']){ echo "selected='selected'";} ?>>Jan</option>
<option value="2" <?php if(isset($_POST['birthday_month']) && 2 == $_POST['birthday_month']){ echo "selected='selected'";} ?>>Feb</option>
<option value="3" <?php if(isset($_POST['birthday_month']) && 3 == $_POST['birthday_month']){ echo "selected='selected'";} ?>>Mar</option>
<option value="4" <?php if(isset($_POST['birthday_month']) && 4 == $_POST['birthday_month']){ echo "selected='selected'";} ?>>Apr</option>
<option value="5" <?php if(isset($_POST['birthday_month']) && 5 == $_POST['birthday_month']){ echo "selected='selected'";} ?>>May</option>
<option value="6" <?php if(isset($_POST['birthday_month']) && 6 == $_POST['birthday_month']){ echo "selected='selected'";} ?>>Jun</option>
<option value="7" <?php if(isset($_POST['birthday_month']) && 7 == $_POST['birthday_month']){ echo "selected='selected'";} ?>>Jul</option>
<option value="8" <?php if(isset($_POST['birthday_month']) && 8 == $_POST['birthday_month']){ echo "selected='selected'";} ?>>Aug</option>
<option value="9" <?php if(isset($_POST['birthday_month']) && 9 == $_POST['birthday_month']){ echo "selected='selected'";} ?>>Sep</option>
<option value="10" <?php if(isset($_POST['birthday_month']) && 10 == $_POST['birthday_month']){ echo "selected='selected'";} ?>>Oct</option>
<option value="11" <?php if(isset($_POST['birthday_month']) && 11 == $_POST['birthday_month']){ echo "selected='selected'";} ?>>Nov</option>
<option value="12" <?php if(isset($_POST['birthday_month']) && 12 == $_POST['birthday_month']){ echo "selected='selected'";} ?>>Dec</option>
</select>
這看起來像一個類似的問題。 http://stackoverflow.com/questions/8560482/using-php-post-to-remember-a-option-in-a-select-box –