我有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:
任何建议,改进,链接代码示例都将不胜感激。
答案 0 :(得分:2)
单独使用 PHP 无法完成您所描述的内容。您需要使用客户端脚本来了解用户如何与 DOM 进行交互。有许多不同的方法可以实现这一目标。您最好的选择是使用 AJAX 框架,如 jQuery (如上所述),原型, Dojo ,或者的锐即可。我可能会选择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 :(得分:1)
使用全面的日期选择工具,例如内置于datepicker的jQuery UI。他们在现场有例子。
如果您沿着3下拉选择路线走下去,您需要在那里进行一些时髦的动态切换,或者为无效日期做好准备。二月三十一日有人吗? :)
答案 2 :(得分:0)
首先,您需要指定标记,并指定数据的去向。其次,您需要将输入字段命名为可以检索它们。
答案 3 :(得分:0)
表单在哪里发布?尝试回显值的代码在哪里?你在这里有选择元素,它们的选项是在渲染页面时生成的,但下一步是在哪里?
提示:您的select
元素需要名称才能随时访问这些值。此外,如果您要执行的 all 是向用户显示所选的值,则无需在任何位置发布表单或在服务器端执行此操作。 JavaScript可以很好地完成工作:)