【问题标题】:input type date html5 and receiving data from databse输入类型 date html5 并从数据库接收数据
【发布时间】:2012-08-17 14:27:15
【问题描述】:

我正在使用WAMPPHP 版本 5 在本地处理 Chrome。我使用显示日历的输入类型日期。事实上,我在用户的数据编辑页面中得到了一些变量。我担心的是所有数据都被收集了。但是对于日期,他没有在数据库中显示记录(由var_dump 确认),而是显示占位符Day / Month / Year

我不感兴趣,当且仅当我的字段为空时,我才想要这个占位符。

这是字段的语法:

<input name="datedepart" type="date"  value="<?php echo date('d/m/Y',strtotime($data["congestart"])) ?>"/>

有办法吗?

接受亲爱的我最崇高的敬意。

【问题讨论】:

  • RFC 说 value 属性需要格式为 YYYY-MM-DD 的日期,例如 1996-12-19。试试 date('Y-m-d', strtotime...

标签: php html date input


【解决方案1】:
<form class="forms-sample" method="post" action="<?php echo base_url(); ?>Program/program_general">
    <td style="text-align: center;">
        <input class="btn btn-sm btn-outline-primary" type="submit" value="View">
        <input type="hidden" value="<?php echo $row['ProgramID']; ?>" name="program_id">
        <input type="hidden" value="<?php echo $row['ProgramName']; ?>" name="program_name">
        <input type="hidden" value="<?php echo $row['ProgramDescription']; ?>" name="program_description">
        <input type="hidden" value="<?php echo date("d-m-Y", strtotime($row['ProgramStartDate'])); ?>" name="program_startdate">
        <input type="hidden" value="<?php echo date("d-m-Y", strtotime($row['ProgramEndDate'])); ?>" name="program_enddate">
    </td>
</form>


<input name="program_name" type="text" class="form-control" id="exampleInputUsername1" value="<?php if (!empty($this
    ->input
    ->post('program_name')))
{
    echo $this
        ->input
        ->post('program_name');
} ?>" placeholder="Program Name">

【讨论】:

  • 请解释您的解决方案。没有解释且只有代码的答案会被标记为省力。
【解决方案2】:

这个适合我

    <input name="datedepart" type="date" value=<?php echo strftime('%Y-%m-%d', strtotime($data['congestart'])); ?>"/>

【讨论】:

    【解决方案3】:

    对我有用的是删除从 php 返回的值周围的引号,因此对于您的代码,它会尝试这样:

    <input name="datedepart" type="date"  value=<?php echo date('d/m/Y',strtotime($data["congestart"])) ?>/>
    

    【讨论】:

      【解决方案4】:

      对我有用

      <input class="form-control calendar" name="datedepart" required="" type="date" id="datedepart" aria-required="true" value="<?php echo date('Y-m-d',strtotime($data["congestart"])) ?>">
      

      【讨论】:

        【解决方案5】:

        我知道它的旧线程,但我认为这对某人有帮助

        尝试使用 min 和 max 然后这将选择您提供的值。

        喜欢

        <input type="date" min="2014-09-08" max="2018-09-08" value="2015-02-24" >
        

        【讨论】:

          【解决方案6】:

          fdreger 的效果非常好:

          <input name="datedepart" type="date" value="<?php echo date('Y-m-   d',strtotime($data["congestart"])) ?>"/>
          

          我也需要同样的东西。

          【讨论】:

            【解决方案7】:

            是的,将日期格式更改为 ISO 可能就足够了,例如 2012-08-22:

            <input name="datedepart" type="date"
            value="<?php echo date('Y-m-d',strtotime($data["congestart"])) ?>"/>
            

            如果您的服务器需要其他格式,则必须使用 Javascript 对其进行转换(ISO 是 HTML5 规范中使用的标准,因此输入字段的值将始终为 ISO,无论 Chrome 如何显示它)。

            更新、澄清:

            日期字段只能包含有效日期。当您尝试将其设置为一些随机垃圾时,该值将变为空。当值为空时 - Chrome 显示占位符。 HTML5 中唯一有效的日期格式是 ISO:2012-03-04。试试看:

            <input value='2004-02-12' type='date'>
            

            【讨论】:

            • 我们使用本地格式 d-m-Y 事实是什么都没有显示,只是默认占位符是 Jours/Mois/Année
            • 但是你能告诉我为什么 chrome 只显示占位符而不是值吗? morover 没有占位符 chrome 放置了自己的占位符
            • @StanislasPiotrowski:日期字段只能包含有效日期。当您尝试将其设置为一些随机垃圾时,该值将变为空。当值为空时 - Chrome 显示占位符。 HTML5 中唯一有效的日期格式是 ISO:2012-03-04。试试看:。如果您的代码不起作用,则可能是其他地方的问题[我更新了我的答案]。
            • @StanislasPiotrowski:无论您在数据库中使用什么,Chrome 显示什么都无关紧要(显示可能因机器而异,取决于区域设置)。如果要提供值,则必须使用 Y-m-d。当您读取该值时,它将是 Y-m-d。也许您需要在服务器端或使用 Javascript 进行转换。
            【解决方案8】:

            使用

            placeholder="<?php echo date('d/m/Y',strtotime($data["congestart"])) ?>"
            

            而不是把它放在价值中。

            如果这不能解决答案,那么再解释一下你想做什么?

            【讨论】:

            • 感谢帮助它实际上不起作用,它总是显示默认占位符 Jours/Mois/Année
            • 我已经检查过了,我输入的值确实存在于值中,因为它来自数据库。它不显示,当我将它保存到数据库时它变成 1970/01/01
            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 2011-07-21
            • 2014-09-15
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多