使用CakePHP显示当前日期

时间:2015-11-30 08:20:24

标签: php cakephp

我使用了类似于下面的日期选择器的脚本

<script> 
$(function() { 
$( ".datepicker" ).datepicker({dateFormat: 'yy-mm-dd'});
$('.timepicker').timepicker({ timeFormat: 'H:mm:ss p' });

 });
 </script>

这会在

的文本字段中显示一个日期选择器
      <div class="bit-4 pad-small">
      <label>Trip Date</label>
          <?php echo $this->Form->input('trip_date',             array('label'=>false,'type' =>  'text','placeholder'=>'','maxlength'=>'30','class' =>  'datepicker','required'));  ?>
    <span>required</span>
  </div>

但我希望当前日期自动显示在日期栏中。

2 个答案:

答案 0 :(得分:1)

您需要使用default属性而不是value属性来设置输入的默认值: -

<?php 
    echo $this->Form->input('trip_date',array(
        'label' => false,
        'type' => 'text',
        'placeholder' => '',
        'maxlength' => '30',
        'class' => 'datepicker',
        'required',
        'default' => date('Y-m-d')
    )); 
?>

如果您使用value,它将覆盖通过$this->request->data传递的任何表单数据,这通常不是您想要的。如果尚未通过default传递,则$this->request->data会为输入提供值。如果您使用Tanbir Sagar的建议,那么如果您的表单数据中存在验证错误,则trip_date字段将每次重置为当前日期。

答案 1 :(得分:0)

您可以使用php date()函数将值设置为当前日期。对于格式化选项,您可以看到以下链接:
http://php.net/manual/en/function.date.php

我认为此代码可以帮助您

<?php echo $this->Form->input('trip_date',array('label'=>false,'type' =>'text','placeholder'=>'','maxlength'=>'30','class'=>'datepicker','required','value'=>date('Y-m-d')));