在注册表中生成出生日期字段的可能方法


Possible ways of generating birthdate fields in a registration form

我正在开发一个需要用户注册的网站。用户注册中的字段是名字和姓氏、性别、出生日期、地点(国家)。其中,我使用的是性别、出生日期和地点的选择字段或下拉列表。对于性别,它很容易编码,因为只有两个选项可以指定。然而,对于出生日期,我有天、月、年的下拉列表。此外,对于国家,我需要至少200个国家的列表。然后,使用正常编程在这些字段中填充值将是一项愚蠢的任务。我有一个选项是使用数组和for循环来显示值。但是数组太长,并且在代码中看起来不明智。我正在使用代码点火器开发网站。使用codeigniter的可能方法是什么?通过这些方法,我可以用最少和干净的代码来完成这项任务?

您可以用javascript完成所有这些客户端。

对出生日期字段使用日期选择器控件。选择类似jQuery UI Datepicker的东西,甚至简单地选择<input type="date">

对于国家列表,我会像你说的那样将其存储为数组,并将其与自动完成插件连接。jQuery再次拯救了jQuery UI自动完成。

对于日期字段,我建议jQuery DatePicker甚至简单的<input type="date" />将在现代浏览器上运行,但将是特定于浏览器的。

关于国家名单,我建议你拿到官方的国家名单。搜索CCD_ 3。这里有一个链接可以为您加快速度。您可以在PHP中的数据库或简单全局数组中使用您喜欢的字段,然后使用下拉列表。

祝你好运!

正如Radu所说,使用jquery UI来完成收集出生日期的任务。

示例代码:

    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.5.2/jquery.min.js"></script>
    <script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.8.11/jquery-ui.min.js"></script>
    <link rel="stylesheet" href="http://ajax.aspnetcdn.com/ajax/jquery.ui/1.8.10/themes/redmond/jquery-ui.css" type="text/css" media="all" />
    <script>
        $(function() {
            $( "#dob" ).datepicker({
                changeMonth: true,
                yearRange: '1905:2011',
                dateFormat: "yy/mm/dd",
                showAnim: 'drop',
                changeYear: true
            });
        });
        </script>

<td><?php echo form_label('Birthday', $dob['id']); ?></td>
        <td><?php echo form_input($dob); ?></td>
        <td style="color: red;"><?php echo form_error($dob['name']); ?><?php echo isset($errors[$dob['name']])?$errors[$dob['name']]:''; ?></td>
    </tr>
    <tr>

对于国家列表,有许多公开可用的数据库转储,所以我将使用数据库来存储国家列表。。

添加一些凉爽:

您可以检测用户的国家/地区,并将其显示为默认选项,还可以从下拉列表中选择其他国家/地区。