使用date_popup作为月份选择器而不是单个日期

时间:2014-04-16 21:13:03

标签: php jquery drupal-7 datepicker drupal-forms

我已经谷歌了,我的尾巴没有运气了。

我目前在Drupal 7中的表单上使用了date_popup,但提交表单的用户没有提交个人日期。他们的标签只显示一个月/年,但表格也要求提供日期。通常我会说他们可以搞清楚,但你会惊讶于我从困惑的用户那里得到了多少封电子邮件。我已将其更改为

$form['made_on_date'] = array(
    '#type' => 'date_popup',
    '#title' => t('Manufacture Date'),
    '#date_format' => 'Y-m',
    '#date_year_range' => '-100:+0',
    '#required' => TRUE,
    '#prefix' => '<div class="can_float">',
    '#suffix' => '</div>',
);

一旦点击就删除了该字段中的日期,但您仍需要在该月内点击一天才能关闭该弹出窗口。

有没有办法将类型更改为仅在选择弹出窗口中显示月份和年份? 我通过Date模块和Drupal 7一起使用它。

我已经尝试了'#type' => 'month_popup',,但令人惊讶的是没有工作。要是。公顷

1 个答案:

答案 0 :(得分:0)

我不认为date_popup有一个选项来执行此操作(它主要是javascript)。如果它只是选择一个月:为什么不使用简单的选择列表或&#39; date_select&#39;?

使用&#34; date_select&#34;:

$form["month_and_year"] = array(
    '#type' => 'date_select',
    '#date_timezone' => date_default_timezone(),    
    '#default_value' => date('Y-m-d H:i:s',time()),                                     
    '#date_format' => 'm.Y',                                                
);

或者使用简单的选择列表:

$form["just_month"] = array(
    '#type' => 'select',
    '#options' => array(
        1 => t("Jan"),
        2 => t("Feb"),
        ...
    ),
);