Вывод информации, отправленной через html Выберите с помощью PHP - PullRequest
1 голос
/ 10 марта 2011

У меня есть 3 поля выбора, по одному на день, месяц и год.

Как только пользователь выбирает желаемый день, месяц и год, он нажимает кнопку «отправить».

Когда они нажимают «Отправить», я хочу, чтобы PHP повторил их выбор.

Код, который у меня пока есть:

<?php
$day = array(range(1,31));
$month = array(range(1,12));
$year = array(range(2011,2020));
?>
Day:
<select>
  <?php foreach($day[0]++ as $key => $value) { ?>
    <option value="<?php echo $key ?>"><?php echo $value ?></option>
  <?php }?>
</select>
<br>
Month:
<select>
  <?php foreach($month[0]++ as $key => $value) { ?>
    <option value="<?php echo $key ?>"><?php echo $value ?></option>
  <?php }?>
</select>
<br>
Year:
<select>
  <?php foreach($year[0]++ as $key => $value) { ?>
    <option value="<?php echo $key ?>"><?php echo $value ?></option>
  <?php }?>
</select>
<input type='submit' value='Send' name='poll' />

Date Selected: 

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

Ответы [ 4 ]

2 голосов
/ 10 марта 2011

То, что вы описываете, не может быть сделано только с PHP .Вам необходимо использовать сценарии на стороне клиента, чтобы знать, как пользователь взаимодействует с DOM .Есть много разных способов сделать это.Лучше всего использовать AJAX фреймворк, такой как jQuery (как упомянуто выше), Прототип , Dojo или YUI.Я бы, наверное, пошел с jQuery, потому что его очень легко подобрать, если вы привыкли к селекторам css.

Прежде всего, вы немного измените html, предоставив ID или Имя класса для элемента ввода.И, также добавляя элемент отображения, в этом случае DIV .Затем вы можете выбрать такие DOM-узлы, как это:

     <script>
        $( document ).ready( function () {
            $( '#send' ).click( function () {

                var span = document.createElement( 'span' );
                $( span ).attr( 'id', 'options' );

                $( 'select' ).each( function () {
                    $( span ).append($( this ).val() + " ");
                });                 

                $( '#show' ).html( span );

            });
        });
    </script>

Я быстро смоделировал это: JSFIDDLE

1 голос
/ 10 марта 2011

Вместо этого используйте всеобъемлющий указатель даты, например указатель даты , встроенный в jQuery UI . У них есть примеры на месте.

Если вы выберете маршрут выбора из 3 выпадающих списков, вам нужно будет выполнить какое-то странное динамическое переключение или подготовиться к недопустимым датам. 31 февраля кто-нибудь? :)

0 голосов
/ 10 марта 2011

Куда отправляется форма?Где находится код, который пытается отобразить значения?Здесь у вас есть элементы select с их параметрами, генерируемыми при визуализации страницы, но где следующий шаг?

Подсказка: вашим элементам select потребуются имена для доступа к этим значениям в любое время,Кроме того, если all , которое вы хотите сделать, это показать пользователю выбранные значения, вам не нужно никуда публиковать форму или делать это на стороне сервера.JavaScript отлично справляется с работой :) 1006 *

0 голосов
/ 10 марта 2011

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

Возможно, вы захотите взглянуть на http://www.w3schools.com/php/php_forms.asp

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