2015-07-19 26 views
0

我正在爲我的新應用程序使用materializecss框架。我也在javascript中使用pickdate函數。Laravel日期選擇器在帖子上給出錯誤的值並給出錯誤的年份

我想要做的是,讓用戶選擇他們的生日,並將它們作爲日期時間格式放入數據庫中。

由於NUW我有一個輸入

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

這工作正常,並給了我正確的輸入。

但是當我打開選取器,它顯示從現在(2015年),直到2005年......

日期,但我想,讓他們從現在開始直到1960年選擇他們的日期。

合你得到那個?

好吧,

當我嘗試輸入的值比方說,七月17'th 2013年,我希望他們在我的數據庫作爲DATATIME格式,所以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) { 
    // 
    } 

    }); 

我不知道我做錯了什麼,或者我怎麼能解決這個問題..

最衷心的問候,

羅賓。

+0

我不是100%確定,如果這個鏈接將幫助你,請嘗試看看它http://stackoverflow.com/questions/27255392/laravel-date-format-in-submission-form –

+0

不,這不是我想要,它只需要插入數據庫內部作爲Ymd H:i:s但是不起作用。 – Robin

回答

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)。

+0

Docs here:http://amsul.ca/pickadate.js/date/#formats –

+0

然後我需要做什麼輸入?因爲現在我將'date_input'作爲輸入名稱,但是我的表單輸入名稱是'datum'。即使我將每個輸入都更改爲'date_input',它仍然會給我一個錯誤的輸入。 – Robin

+0

這是我現在在我的JS中得到的:http://laravel.io/bin/LkO1e這是我的控制器:http://laravel.io/bin/wJkRx,這是我在我看來:http ://laravel.io/bin/qQwRo – Robin

0

問題我使用的格式是什麼。

這爲我工作:

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

還是感謝你們,但我的一個朋友知道這個問題。