我的数据库包含字段start_date
(datetime
,必填)和end_date
(datetime
,可以为null)。我正在创建一个表单供用户使用CakePHP输入数据。我的表单包含
echo $this->Form->input('start_date');
echo $this->Form->input('end_date');
输出6 select
s(月 - 日 - 年小时:分钟经络),其中已选择当前日期/时间,因为数据类型为datetime
。 如果我希望用户能够为null
插入end_date
(基本上不填写字段),我该如何更改表单?
我真正想要的是一个带有jQuery日历弹出框的文本框,用于插入格式化的日期时间,因此如果需要,他们可以将文本框留空。我不完全确定要查找什么,我猜它在文档的某个地方,但我只是从CakePHP开始(所以道歉,因为这可能是一个基本问题)。
答案 0 :(得分:7)
使用空键:
$this->Form->input('end_date', array('empty' => true));
或'empty' => '-'
等
这将创建在DB中最终为NULL的字段。
答案 1 :(得分:1)
您可以将jquery datepicker与文本框一起用于日期字段。
尝试这样的事情
<强> PHP 强>
<?php echo $this->Form->input('end_date', array(
'type' => 'text',
'label' => 'End Date',
'class' => ' j-date',
'div' => false
));
?>
您可以通过使用上面提到的元素添加类j-date来为每个日期字段添加jquery datepicker
<强> Jquery的强>
<script>
$(function() {
$(document).ready(function() {
$('.j-date').each(function() {
$(this).datepicker({ dateFormat: 'yy-mm-dd',
changeMonth: true,
changeYear: true
});
});
});
});
</script>
我希望这个解决方案对你来说是可行的。感谢