我一直致力于设计一个MediaWiki扩展,询问用户的出生日期,然后将其存储在用户数据库中。到目前为止,我已经通过输入框设置了这个工作(如果用户输入它像“2007-04-06”)。你可以说,这非常低效。
所以 - 这个数据在SQL数据库中存储为“DATE”类型(命名为user_birthdate),需要YYYY-MM-DD格式。
我不想让用户手动输入这些数据,而是让我有一个预设值的下拉列表,如下所示:
<select name="birthdate-year" id="birthdate-year">
<option value="2005">2005</option>
<option value="2006">2006</option>
<option value="2007">2007</option>
</select>
<select name="birthdate-month" id="birthdate-month">
<option value="01">January</option>
<option value="02">February</option>
<option value="03">March</option>
</select>
<select name="birthdate-day" id="birthdate-day">
<option value="01">1</option>
<option value="02">2</option>
<option value="03">3</option>
</select>
我的问题是,到目前为止,我已经使用JavaScript和HTML5完全 这是我想知道的:
如何将这些选项组合为一个值,以便以正确的格式发送数据?就像用户选择“1997”,“04”和“03”一样,我希望它成为一个整体值“1997-04-03”。
答案 0 :(得分:0)
答案 1 :(得分:0)
PHP:
<?php
// get values from post
$birthdate-year = $_POST["birthdate-year"];
$birthdate-month= $_POST["birthdate-month"];
$birthdate-day= $_POST["birthdate-day"];
// make string from values
$goodDate = $birthdate-year."-".$birthdate-month."-".$birthdate-day;
echo $goodDate;
// or make object datetime from values
$goodDate2 = new DateTime();
$goodDate2->setDate($birthdate-year, $birthdate-month, $birthdate-day);
echo $goodDate2->format('Y-m-d');
?>
JavaScript的:
<script>
var year = document.getElementById(birthdate-year).value;
var month = document.getElementById(birthdate-month).value;
var day = document.getElementById(birthdate-day).value;
var goodDate = year+"-"+month+"-"+day;
alert(goodDate);
</script>