输入类型日期html5和从数据库接收数据

时间:2012-08-22 07:46:02

标签: php html5 date input

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

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

以下是该字段的语法:

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

有没有办法呢?

亲爱的,我非常尊重。

7 个答案:

答案 0 :(得分:17)

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

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

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

更新,澄清:

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

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

答案 1 :(得分:1)

使用

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

而不是把它放在价值中。

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

答案 2 :(得分:0)

这非常适用于 fdreger

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

我需要同样的事情。

答案 3 :(得分:0)

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

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

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

答案 4 :(得分:0)

它为我工作

<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 :(得分:0)

对我有用的是删除从php返回的值的引号,所以在你的代码的情况下它会尝试这个:

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

答案 6 :(得分:0)

这个对我有用

    def divide(dividend, divisor):
        """
        :type dividend: int
        :type divisor: int
        :rtype: int
        """
        sign = [1,-1][(dividend < 0) != (divisor < 0)]
        dividend, divisor = abs(dividend), abs(divisor)
        res = 0
        i = 0
        tmp_divisor = divisor
        while dividend >= divisor:
            old_dividend, old_res = dividend, res
            dividend = dividend - tmp_divisor
            tmp_divisor <<= 1
            res += (1 << i)
            i+=1
            if dividend < 0:
                dividend = old_dividend
                res = old_res
                tmp_divisor >>= 2
                i -= 2

        if sign == -1:
            res = -res

        if res < -2**31 or res > 2**31 -1:
            return 2**31 - 1

        return res