-1
咖啡和大腦的放棄... ...任何人都可以幫助使這種形式日期下拉功能保留選定月$ _POST ['submit']或isset($在那裏的情況下是一個錯誤/遺漏場等使php的日期下拉功能'粘'
function createMonths($id='month_select', $selected=null)
{
/*** array of months ***/
$months = array(
1=>'Jan',
2=>'Feb',
3=>'Mar',
4=>'Apr',
5=>'May',
6=>'Jun',
7=>'Jul',
8=>'Aug',
9=>'Sep',
10=>'Oct',
11=>'Nov',
12=>'Dec');
/*** current month ***/
$selected = is_null($selected) ? date('m') : $selected;
$select = '<select name="'.$id.'" id="'.$id.'">'."\n";
foreach($months as $key=>$mon)
{
$select .= '<option value="'.str_pad($key, 2, "0", STR_PAD_LEFT).'"';
$select .= ($key==$selected) ? ' selected="selected"' : '';
$select .= ">$mon</option>\n";
}
$select .= '</select>';
return $select;
}
由於今天月份被選中默認變量永遠不會是空的沒有? – brainache 2009-10-28 12:45:44
@brainache - 正確的,我剛剛添加了一個空的選項,之後爲他循環了幾個月。不過,這並不一定是個問題,因爲$ _POST的選擇狀態只有在表單已發佈的情況下才有效。如果你想驗證用戶確實已經從列表中選擇了一個選項,而不是簡單地在這種情況下通過* January *,那麼這僅僅是有用的。 – 2009-10-28 12:52:11
爲了簡化,上面的代碼現在從一個空的選定選項開始。在提交表單時,現在將選擇正確的選項(假設選擇了一個)或者默認爲空的選定選項。 – 2009-10-28 12:54:02