Laravel日期选择器在帖子上提供了错误的值并给出错误的年份

时间:2015-07-19 11:21:04

标签: javascript php date datetime laravel-4

我正在为我的新应用程序使用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) {
    //
  }

  });

我不知道我做错了什么,或者我怎么能解决这个问题。

最诚挚的问候,

罗宾。

2 个答案:

答案 0 :(得分:1)

我不确定,但看起来你写了一个错字:

hiddenName: true

同样在文档中,您可以看到:

  

需要发送到服务器的值只是隐藏值    - 而不是可见的。要实现此目的,请使用hiddenName   选项

所以设置为:

""

我说要将隐藏字段的后缀和前缀值都设置为date_input,并确保在后端部分中捕获正确的输入字段(docs将其设置为{默认情况下为{1}}。

答案 1 :(得分:0)

问题是我使用的格式。

这对我有用:

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

还是谢谢你们,但是我的一个朋友知道这个问题。