Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/402.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用html和php创建收集日期的表单_Php_Javascript_Html_Forms - Fatal编程技术网

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

如何使用html和php创建收集日期的表单,php,javascript,html,forms,Php,Javascript,Html,Forms,我有一个表单,我希望用户插入他们的生日。我有三件东西。一个是月,一个是日,一个是年。我正在使用php创建表单。我的问题是,如果有人选择二月作为月份,他们仍然可以选择第31天。所有月份都有31天。当有人更改月份字段时,我是否需要使用javascript作出反应?我应该如何着手解决这个问题?请帮忙。这是我的密码 $today = time(); $f_today = date("M-d-Y", $today);

我有一个表单,我希望用户插入他们的生日。我有三件东西。一个是月,一个是日,一个是年。我正在使用php创建表单。我的问题是,如果有人选择二月作为月份,他们仍然可以选择第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/>";

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

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

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

当然,正如前面有人建议的那样,在这种情况下,php是一个更好/更简单的解决方案。

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


当然,正如前面有人建议的那样,在这种情况下,使用jQuery datepicker插件是更好/更简单的解决方案。

使用jQuery datepicker插件。使用jQuery日期选择器插件。