Drupal 7 date_popup表单元素提交的值错误

时间:2019-11-10 14:08:41

标签: drupal-7 drupal-fapi

我将使用Drupal 7以自定义形式呈现日期选择器元素之后的内容:

    $form['navigation']['calendar_popup'] = array(
        '#type' => 'date_popup',
        '#title' => t('Date', [], $t_context),
        '#title_display' => 'invisible',
        '#default_value' => date('Y-m-d H:i:s', time()),
        '#date_format' => 'd-m-Y',
        '#size' => 10,
        '#date_label_position' => 'none', // none within
        '#date_increment' => 15,
        '#date_year_range' => '2008:+1',
        '#description' => '',
        '#required' => false,      
    );

今天是11月10日,显示的元素文本为10-11-2019。 但是,当在手持设备上提交表单时(我在我的Chrome桌面浏览器中使用Samsung Galaxy S5仿真),则字段文本会短暂更改为``11-10-2019'',而实际上会提交``2019-10-11''。在物理Galaxy A系列掌上电脑上也是如此。

台式机浏览器没有此问题。

有什么建议吗?

1 个答案:

答案 0 :(得分:0)

尝试一下:

 $form['navigation']['calendar_popup'] = array(
    '#type' => 'date_popup',
    '#title' => t('Date', [], $t_context),
    '#title_display' => 'invisible',
    '#default_value' => date('Y-m-d', time()), // change format passed
    '#date_format' => 'd-m-Y',
    '#size' => 10,
    '#date_label_position' => 'none', // none within
    '#date_increment' => 15,

    '#date_timezone'       => date_default_timezone(), // add this

    '#date_year_range' => '2008:+1',
    '#description' => '',
    '#required' => false,      
);

=>强制时区+更改日期默认值格式