无法将值分配给php日期框

时间:2014-04-20 12:26:00

标签: javascript php

大家好我试图手动为html日期输入字段分配值。但它没有用。

首先,我尝试按照普通输入框

的方式传递值
<?php $newDate2 = '03/31/2014'; ?>
<form name='RegForm' method='GET'>
<input type="date" name="sdate" id="sdate" value="<?php echo $newDate2; ?>" required>
</form>

当它没有工作时,我尝试使用这样的Javascript宽度:

 <head>
 <script type="text/javascript">
  function showInvoiceDate(){
   var mYDate = new Date('2011-04-11');
   alert(mYDate);
   document.getElementById("sdate").value=mYDate;
 }
 </script>
 </head>
 <body onload="showInvoiceDate();">
  <form name='RegForm' method='GET'>
  <input type="date" name="sdate" id="sdate" required>
  </form>
</body>

正在提示该功能。因为“提醒”框显示myDate的值,但日期框的值未进行更改,但仍为mm/dd/yyy

那我做错了什么?

1 个答案:

答案 0 :(得分:3)

日期应采用YYYY-MM-DD格式。单位数天和月应填0,1月为01。

来自documentation

  

表示日期的字符串。   值:[RFC 3339]中定义的有效完整日期,附加限定年份组件是四位或更多位数,表示大于0的数字。

PHP - 代码应为:

<?php $newDate2 = "2014-03-31"; ?>
<form name='RegForm' method='GET'>
<input type="date" name="sdate" id="sdate" value="<?= $newDate2; ?>" required>
</form>

经过测试,对我有用。

Javascript - 您需要构建日期字符串,然后设置它,如:

var dateString = mYDate.getUTCFullYear() + "-" + (mYDate.getUTCMonth()+1) + "-" + mYDate.getUTCDate();
document.getElementById("sdate").value = dateString ;

我没有测试JS版本,但它应该可以工作。