获取CakePHP HtmlHelper以生成"日期"输入

har*_*ryg 2 php forms html5 cakephp

我一直在使用HtmlHelper为我的cakePHP应用程序制作一些基本的CRUD页面.这对于构建表单很方便,但是对于日期输入,默认情况下帮助程序会为日期生成3个选择框,使用起来非常麻烦.

HTML5引入了input[type=date]大多数浏览器现在都包含一些很好的本机接口来处理它; 例如,Chrome为日期输入生成了一个不错的日期选择器.

我知道可以text通过执行以下操作使HtmlHelper只输入一个框而不是3个下拉列表:

echo $this->Form->input('my_date', array('type' => 'text'));
Run Code Online (Sandbox Code Playgroud)

但是,当我这样做

echo $this->Form->input('my_date', array('type' => 'date'));
Run Code Online (Sandbox Code Playgroud)

它忽略了第二个争论,并回到了3个选择.

有没有办法让助手进行日期输入?

har*_*ryg 5

似乎HtmlHelper还没有进化到使用"日期"输入.

如果您告诉助手将日期输入生成为文本字段,则添加jQuery one-liner可以将其转换为日期输入.

所以:

echo $this->Form->input('my_date', array('type' => 'text'));
Run Code Online (Sandbox Code Playgroud)

生成字段.然后:

$('#idOfMyDate').attr('type', 'date');
Run Code Online (Sandbox Code Playgroud)

将其更改为日期输入.

如果有人有更好的方式我会热衷于听到它.

  • 更新`$ this-> Form-> date('date');` (4认同)