首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用html和php创建收集日期的表单

如何使用html和php创建收集日期的表单
EN

Stack Overflow用户
提问于 2011-08-21 13:21:00
回答 2查看 871关注 0票数 0

我有一个表单,我希望用户插入他们的生日。我有三样东西。一个为月,一个为日,一个为年。我使用php来创建表单。我的问题是,如果有人选择2月作为月份,他们仍然可以选择第31天。所有月份都有31天。当有人更改月份字段时,我需要使用javascript来做出反应吗?我该如何着手解决这个问题呢?请帮帮忙。这是我的代码。

代码语言: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/>";
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-08-22 01:40:05

您可以使用php的cal_days_in_month(),它将返回日历中给定月份和年份的正确天数。您可以在javascript中对月和年元素使用onchange事件。因此,当用户选择月份或年份时,您将调用一个php脚本(通过AJAX),该脚本使用cal_days_in_month()返回该月份和年份的正确天数。然后使用给定的结果更新#daySelect内容。

当然(就像之前有人建议的那样)在这种情况下,jQuery datepicker是一种更好/更容易的解决方案。

票数 2
EN

Stack Overflow用户

发布于 2011-08-21 14:54:31

您可以在关联数组中定义月份,如下所示: array( Jan=>30,Feb=>28,...)。通过onChange处理程序将月份选择框链接到JS函数,该函数提取选择框的值(Jan、Feb等)并将其用作arr中的密钥。使用数组中的值添加/减去正确的天数。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7136546

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档