jquery ui datepicker dateformat - PullRequest
       8

jquery ui datepicker dateformat

4 голосов
/ 12 апреля 2009

У меня есть некоторые проблемы, чтобы правильно настроить формат даты.

После того, как мое поле даты потеряло фокус, я хочу, чтобы оно отображалось как:

дд-мм-гггг, но он должен быть сохранен в базе данных как

гггг-мм-дд. .

Вот что у меня есть:

$("#birthdate").datepicker({
            changeMonth: true,
            changeYear: true,
            altFormat: 'yyyy-mm-dd' 
             });

Теперь оно отображается в поле даты, например, 25.11.2009 (25 ноября 2009 г.) и опубликовано как 25.11.2009

есть идеи?

Ответы [ 2 ]

4 голосов
/ 12 апреля 2009

Попробуйте это:

<script type="text/javascript" charset="utf-8">
$(document).ready(function()
{   
    $("#datepicker").datepicker({
        altField: '#realdate', 
        altFormat:'yy-mm-dd'
    }); 
});

<input type="text" name="datepicker" value="" id="datepicker">
<input type="hidden" name="realdate" value="" id="realdate">

Затем используйте реальную дату, чтобы получить дату, когда вы публикуете.

2 голосов
/ 15 апреля 2009

У MrHus хороший ответ, но вы должны просто обработать его на бэкэнде, потому что эта информация может быть подделана через прокси или многими другими возможными злонамеренными способами. Например, если вы используете PHP, это будет примерно так:

<?php
// BTW... you'll want to check for XSS attacks and other vulnerabilities first...
$date = '08/05/1986';//$_REQUEST['datepicker'];
// This is very simple... you should also check if the date is real...
if(preg_match('/^\d{2}\/\d{2}\/\d{4}$/',$date)) {
    $date_formatted = date('Y-m-d',strtotime($date));
}
// put $date_formatted into database...
?>

Комбинация наших двух ответов поможет вам (в основном) безопасно добраться туда.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...