【问题标题】:Laravel date picker gives wrong value on post and gives wrong yearLaravel 日期选择器在帖子上给出错误的值并给出错误的年份
【发布时间】:2015-07-20 02:41:55
【问题描述】:

我正在为我的新应用程序使用 materializecss 框架。我也在javascript中使用pickdate函数。

我想要做的是,让用户选择他们的生日并将它们作为日期时间格式放入数据库中。

现在我有一个输入

{{ Form::text('datum', Input::old('datum'), array('id' => 'datepicker', 'class' => 'datepicker')) }}

这很好,给了我正确的输入。

但是当我打开选择器时,它会显示从现在(2015 年)到 2005 年的日期...

但我想让他们选择从 1960 年到现在的日期。

你明白了吗?

好的,

当我尝试输入值时,假设是 2013 年 7 月 17 日,我希望它们作为数据时间格式在我的数据库中,所以 2013-7-17 00:00:00

现在,它提供(当我 var_dump 时)这种格式:["datum"]=> string(21) "wednesday 17 july 2013"。但这不是我想要的。

我有一个文件,我在其中“重写”了主要功能,如下所示:

$('.datepicker').pickadate({

    // Strings and translations
    monthsFull: ['januari', 'februari', 'maart', 'april', 'mei', 'juni', 'juli', 'augustus', 'september', 'october', 'november', 'december'],
    monthsShort: [ 'jan', 'feb', 'maa', 'apr', 'mei', 'jun', 'jul', 'aug', 'sep', 'okt', 'nov', 'dec' ],
    weekdaysFull: [ 'zondag', 'maandag', 'dinsdag', 'woensdag', 'donderdag', 'vrijdag', 'zaterdag' ],
    weekdaysShort: [ 'zo', 'ma', 'di', 'wo', 'do', 'vr', 'za' ],
    showMonthsShort: [ 'Z', 'M', 'D', 'W', 'D', 'V', 'Z' ],
    showWeekdaysFull: undefined,

    // Buttons
    today: 'vandaag',
    clear: 'verwijder',
    close: 'sluit',

    // Accessibility labels
    labelMonthNext: 'Volgende maand',
    labelMonthPrev: 'vorige maand',
    labelMonthSelect: 'selecteer een maand',
    labelYearSelect: 'selecteer een jaar',

    // Formats
    format: 'dddd d mmmm yyyy',
    formatSubmit: 'm-d H:i:s',
    hiddenPrefix: undefined,
    hiddenSuffix: '_submit',
    hiddenName: undefined,

    // Editable input
    editable: undefined,

    // Dropdown selectors
    selectYears: true,
    selectMonths: true,

    // First day of the week
    firstDay: 1,

    // Date limits
    min: false,
    max: true,

    // Disable dates
    disable: undefined,

    // Root picker container
    container: undefined,

    // Hidden input container
    containerHidden: undefined,

    // Close on a user action
    closeOnSelect: true,
    closeOnClear: true,

    // Events
    onStart: function() {
    //
  },
  onRender: function() {
    //
  },
  onOpen: function() {
    //
  },
  onClose: function() {
    //
  },
  onStop: function() {
    //
  },
  onSet: function(context) {
    //
  }

  });

我不知道自己做错了什么,也不知道如何解决这个问题..

最诚挚的问候,

罗宾。

【问题讨论】:

  • 我不是 100% 确定这个链接是否对你有帮助,试试看stackoverflow.com/questions/27255392/…
  • 不,这不是我想要的,它只需要作为 Y-m-d H:i:s 插入到数据库中,但这不起作用。

标签: javascript php date datetime laravel-4


【解决方案1】:

我不确定,但看起来你打错了:

// Formats
format: 'dddd d mmmm yyyy',
formatSubmit: 'm-d H:i:s', //Y-m-d H:i:s
hiddenPrefix: undefined,
hiddenSuffix: '_submit',
hiddenName: undefined,

您还可以在文档中看到:

需要发送到服务器的值就是隐藏值 – 而不是可见的。为此,请使用 hiddenName 选项

所以设置为:

hiddenName: true

我会说将隐藏字段的后缀和前缀值都设置为"",并确保在后端部分您捕获到正确的输入字段(文档说它默认设置为date_input)。

【讨论】:

  • 那我需要输入什么?因为现在我将date_input 作为输入名称,但我的表单输入名称是datum。即使我将每个输入更改为date_input,它仍然给我一个错误的输入。
  • 这是我现在在我的 JS 中得到的:laravel.io/bin/LkO1e 这是我的控制器:laravel.io/bin/wJkRx 这是我认为的:laravel.io/bin/qQwRo
【解决方案2】:

问题是我使用的是什么格式。

这对我有用:

format: 'dddd d mmmm yyyy',
formatSubmit: 'yyyy-mm-dd',
hiddenPrefix: undefined,
hiddenSuffix: '_submit',
hiddenName: 'datum',

仍然感谢你们,但我的一个朋友知道问题所在。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-11-17
    • 1970-01-01
    • 2022-06-13
    • 2017-05-04
    • 2017-03-25
    • 2019-05-12
    • 2016-03-12
    • 2019-07-18
    相关资源
    最近更新 更多