【问题标题】:Echo out information sent via html Select with PHP回显通过 html Select with PHP 发送的信息
【发布时间】:2011-03-10 21:36:13
【问题描述】:

我有 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: 

任何建议、改进、链接代码示例将不胜感激。

【问题讨论】:

  • 到目前为止 / 什么不起作用?
  • 这是我目前所有的代码

标签: php html select echo


【解决方案1】:

您所描述的内容无法单独使用 PHP 完成。您需要使用客户端脚本来了解用户如何与 DOM 交互。有许多不同的方法可以实现这一点。您最好的选择是使用 AJAX 框架,例如 jQuery(如上所述)、PrototypeDojoYUI。我可能会选择 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

【讨论】:

    【解决方案2】:

    请改用综合的日期选择器,例如 datepicker 内置在 jQuery UI 中。他们有现场示例。

    如果您选择 3 个下拉选择路线,您要么需要在其中进行一些时髦的动态切换,要么为无效日期做好准备。 2月31日有人吗? :)

    【讨论】:

      【解决方案3】:

      首先,您需要指定标签,并指定数据的去向。其次,您需要命名您的输入字段,以便您可以检索它们。

      你可能想看看http://www.w3schools.com/php/php_forms.asp

      【讨论】:

        【解决方案4】:

        表单在哪里发布?试图回显这些值的代码在哪里?您在这里拥有的是在呈现页面时会生成其选项的选择元素,但下一步在哪里?

        提示:您的select 元素需要名称才能随时访问这些值。此外,如果 all 您想要向用户显示已选择的值,则无需在任何地方发布表单或在服务器端执行此操作。 JavaScript 可以很好地完成这项工作:)

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2017-10-31
          • 2012-01-07
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2013-11-18
          • 2013-07-02
          相关资源
          最近更新 更多