如何在CakePHP中的日期选择菜单中设置占位符副本

时间:2011-08-30 17:28:16

标签: forms cakephp cakephp-1.3 placeholder select-menu

我正在使用CakePHP 1.3为出生日期创建一个选择菜单(如下所示)。我可以将默认起始值​​设置为空白或选定日期,但理想情况下我希望将DD-MM-YYYY作为起始显示值:

echo $form->input('dob', 
    array(
    'before' => '', 
    'between' => '', 
    'after' => '', 
    'label' => false, 
    'divider' => false, 
    'monthNames' => false, 
    'selected' => false, 
    'empty' => true, 
    'dateFormat' => 'DMY', 
    'minYear' => date('Y') - 70,
    'maxYear' => date('Y') - 16,
    'error' => array('wrap' => 'div', 'class' => 'error-copy')
    ));

我得到了什么:

Date of birth select menus

我想要的是什么:

Placeholder DD MM YYYY copy

谢谢

4 个答案:

答案 0 :(得分:1)

我相信如果你想这样做,你必须创建自己的日期字段,而不是使用FormHelper,因为你只能设置一个默认日期,你想要的是在字段中添加一个元素。

您也可以尝试使用JQuery的datepicker,这是我在项目中使用的内容,因为它是一个文本字段,您可以设置任何您想要的占位符。

答案 1 :(得分:0)

我相信你只能在日期字段上设置默认日期。

echo $this->Form->input('close_time', array('type' => 'time', 'selected' => '13:30:00'));

Cookbook entry

答案 2 :(得分:0)

为了任何人的利益谷歌搜索在问题发出1年多后找到这个问题的答案,我们现在可以简单地执行以下操作来设置CakePHP表单中的默认占位符(临时)值,这些值在单击时可以轻松替换:< / p>

<?php echo $this->Form->input('Email', array(
'placeholder'=>'Enter Your Email Here'
)); ?>

我也希望包含'label' => false以使表单真正极简。

答案 3 :(得分:0)

http://book.cakephp.org/2.0/en/core-libraries/helpers/form.html#options-for-select-checkbox-and-radio-inputs

echo $this->Form->dateTime('Contact.date', 'DMY', '12',
    array(
        'empty' => array(
            'day' => 'DAY', 'month' => 'MONTH', 'year' => 'YEAR',
            'hour' => 'HOUR', 'minute' => 'MINUTE', 'meridian' => false
        )
    )
);