2009-04-12 14 views
4

日付の書式を正しく取得するためにいくつかの問題があります。私の日付フィールドの後jquery ui datepicker dateformat

は、私はそれは次のように表示したいフォーカス失った:

DD-MM-YYYYのが、それは

YYYY-MM-DDのようなデータベースに保存する必要があります。 。

これは私がこれまで持っているものです。

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

は、今では2009年11月25日(11月25日09)のように日付フィールドに示されています と2009年11月25日

のように投稿何か案は?あなたが投稿したときに日付を取得するためにrealdateを使用すると

<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"> 

答えて

4

はこれを試してみてください。

+0

複数の日付ピッカーがあり、datePickerを設定するために1つのjqueryセレクタ$( "#datepicker1、#datepicker2")を使用している場合はどうなりますか? – anmarti

2

MrHusは良い答えがありますが、この情報はプロキシや他の悪意のある方法で偽造される可能性があるため、バックエンドで処理する必要があります。私たちの2つの答えの組み合わせは、(主に)安全にそこにあなたを取得する必要があります

<?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... 
?> 

:あなたがPHPを実行している場合は、例えば、このようなものになるだろう。