簡體   English   中英

如何使用html和php創建收集日期的表單

[英]How to create a form with html and php that collects a date

我有一個表格,希望用戶插入他們的生日。 我有三個項目。 一個月,一天一個,一年一個。 我正在使用php創建表單。 我的問題是,如果有人選擇2月作為月份,他們仍然可以選擇第31天。所有月份都有31天。 當有人更改“月”字段時,我需要使用JavaScript做出反應嗎? 我應該如何解決這個問題? 請幫忙。 這是我的代碼...

                    $today = time();
                    $f_today = date("M-d-Y", $today);
                    //The Month
                    $todayMonth = date("n",$today);
                    echo "<select id='monthSelect' name='dateMonth'>";
                    for ($n=1;$n<=12;$n++) {
                        echo "<option value='$n'";
                        if ($n == $todayMonth) {
                            echo " selected='selected'";
                        }
                        echo ">$monthName[$n]</option>";
                    }
                    echo "</select>";
                    //The Day
                    $todayDay = date("d",$today);
                    echo "<select id='daySelect'name='dateDay'>";
                    for ($n=1;$n<=31;$n++) {
                        echo "<option value='$n'";
                        if ($n == $todayDay) {
                            echo " selected='selected'";
                        }
                        echo ">$n</option>";
                    }
                    echo "</select>";
                    //The Year
                    $todayYear = date("Y",$today);
                    echo "<select name='dateYear'>";
                    for ($n=$todayYear-100;$n<=$todayYear;$n++) {
                        echo "<option value='$n'";
                        if($n == $todayYear) {
                            echo " selected='selected'";
                        }
                        echo ">$n</option>";
                    }
                    echo "</select><br/><br/>";

您可以使用php的cal_days_in_month()來返回日歷中給定月份和年份的正確天數。 您可以將javascript中的onchange事件用於month和year元素。 因此,當用戶選擇月份或年份時,您調用php腳本(通過AJAX),該腳本使用cal_days_in_month()返回該月份和年份的正確天數。 然后,使用給定的結果更新#daySelect內容。

當然(如之前建議的那樣),在這種情況下, jQuery datepicker是更好/更輕松的解決方案。

您可以這樣在關聯數組中定義月份:array(Jan => 30,Feb => 28,...)。 通過onChange處理程序將月份選擇框鏈接到JS函數,該函數提取選擇框的值(Jan,Feb等),並將其用作arr中的鍵。 使用數組中的值來添加/減去正確的天數。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM