繁体   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