Возможные способы создания полей даты рождения в регистрационной форме - PullRequest
2 голосов
/ 28 июня 2011

Я занимаюсь разработкой сайта, который требует регистрации пользователя. Поля в регистрации пользователя - это имя и фамилия, пол, дата рождения, местоположение (страна). Из них я использую поле выбора или раскрывающийся список для пола, даты рождения и местоположения. Для пола его легко закодировать, так как нужно указать только два параметра. Однако для даты рождения у меня есть выпадающие списки по дням, месяцам и годам. Также для стран мне нужен список как минимум из 200 стран. Тогда для заполнения значений в этих полях обычное программирование было бы глупой задачей. У меня есть один вариант - использовать массив и цикл для отображения значений. Но массив будет слишком длинным, и в коде он будет выглядеть неумным. Я использую codeigniter для разработки сайта. Каковы возможные способы использования codeigniter, с помощью которых я могу решить эту задачу с минимальным и чистым кодом?

Ответы [ 3 ]

1 голос
/ 28 июня 2011

Для поля «Дата» я бы предложил jQuery DatePicker или даже простой <input type="date" />, который будет работать в современных браузерах, но будет зависеть от браузера.

Для списка стран, я бы посоветовал вам получить официальный список стран. поиск ISO 3166. Здесь - это ссылка, чтобы ускорить процесс для вас. Вы можете использовать нужные вам поля в базе данных или в простом глобальном массиве в PHP, а затем использовать раскрывающийся список для списка.

Удачи!

1 голос
/ 28 июня 2011

Вы можете выполнить все это на стороне клиента с помощью JavaScript.

Использовать элемент управления выбора даты для полей даты рождения.Перейти на что-то вроде jQuery UI Datepicker или даже просто <input type="date">.

Для списка стран я бы сохранил его как массив, как вы сказали, и я бы подключил его с плагином автозаполнения,jQuery снова на помощь с jQuery UI Autocomplete .

0 голосов
/ 28 июня 2011

Как сказал Раду, используйте 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>

и для списка стран есть много общедоступных дампов баз данных, поэтому я буду использовать базу данных для хранения списка стран.

Добавление некоторой крутости:

Вы можете определить страну пользователя и отобразить ее в качестве опции по умолчанию, а также выбрать другую страну из выпадающего списка.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...