我正在使用输入日期为date(datepicker)的HTML表单进行操作,我想做的是以下操作:“如果用户设置了任何日期,则默认值将是该新日期,如果没有发生的话显示今年的第一天”。我该如何实现?这是我尝试过的。
<input id="desde" name="desde" type="date" value="<?php
if(isset($_REQUEST['desde'])) { echo $_REQUEST['desde']; } else
if(!isset($_REQUEST['desde'])){ echo '01/'.'01/'.date('Y');}?>">
我尝试执行上面显示的以下代码,但是如果我不输入任何日期却不显示任何内容,那我做错了什么?
答案 0 :(得分:0)
首先获取年份,然后在代码中使用它。我已经更新了您的代码,如下所示。可能会对您有帮助。
<input id="desde" name="desde" type="date" value="<?php
$year = date("Y");
if(isset($_REQUEST['desde'])) { echo $_REQUEST['desde']; } else
if(!isset($_REQUEST['desde'])){ echo '01/'.'01/'.$year;}?>">
答案 1 :(得分:0)
尝试一下
注意:使用yyyy-mm-dd格式
PHP代码
<?php
if(isset($_REQUEST['desde']) && $_REQUEST['desde']!='') {
$Date=$_REQUEST['desde'];
}else{
$Date=date('Y')."-01-01";
}
?>
HTML:
<input id="desde" name="desde" type="date" value="<?php echo $Date;?>">
或
<input id="desde" name="desde" type="date"
value="<?php if(isset($_REQUEST['desde']) && $_REQUEST['desde']!='') {
echo $_REQUEST['desde'];
}else{
echo date('Y')."-01-01";
}?>">
答案 2 :(得分:0)
您提供的日期格式错误-https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/date#Value:
要注意的一件事是,显示的日期格式与实际的
value
不同-显示的日期格式将根据用户浏览器的设置区域设置来选择,而日期value
始终是格式为yyyy-mm-dd
。
(而且if(foo) { … } else if(!foo) { … }
是不必要的冗余,您不需要第二个if
来检查与第一个相反的位置-仅else
就已经在这里提供了相同的功能。 )
答案 3 :(得分:0)
HTML日期输入类型元素始终以YEAR-MONTH-DAY
格式返回日期。如果要设置任何默认日期,则需要以该特定格式提供日期。尝试这种方式,
if(!isset($_REQUEST['desde'])){ echo date('Y').'-01-01';}?>">