2

我在我的 cakephp 应用程序(http://www.eyecon.ro/bootstrap-datepicker/)中使用了 datepicker Boostrap,但是,当我尝试保存日期(到 POST)时,我从来没有通过 POST 获得这个日期。

<?php echo $this->Form->create(false); ?>
<div class="input-append date pull-right" id="dp3" data-date-format="dd-mm-yyyy">
    <input class="span2" size="16" type="text" value="Data do Registo" readonly>
    <span class="add-on"><i class="icon-th"></i></span>
</div>  
(...)

JavaScript:

(function($) {
    $(document).ready(function() {

        $("#dp3").datepicker()
                .on('show', function(ev) {
            var today = new Date();
            var t = today.getDate() + "-" + (today.getMonth() + 1) + "-" + today.getFullYear();
            $('#dp3').data({date: t}).datepicker('update');
        });

        $('#timepicker1').timepicker();
    });
})(jQuery);
4

1 回答 1

2

我想您没有使用 FormHelper 来显示日期输入以包含 datepicker 引导程序所需的所有类。如果您有安全组件,这会给您带来问题,但其他方面没问题,我猜......虽然我建议您寻找替代方案来集成两者,而不必错过 FormHelper -er- 帮助。

但!您缺少输入的名称。FormHelper 为它创建的所有输入添加一个名称。因此,请使用 firebug 等检查其他输入获得的名称类型。它应该是这样的

<div class="input-append date pull-right" id="dp3" data-date-format="dd-mm-yyyy">
    <input name="data[FormName][datepicker]" class="span2" size="16" type="text" value="Data do Registo" readonly>
    <span class="add-on"><i class="icon-th"></i></span>
</div>

你会在行动中得到它

$this->request->data['FormName']['datepicker']
于 2013-05-14T17:05:41.270 回答