2009-04-12 123 views
4

我想了一些問題來獲取dateformat的權利。jquery ui datepicker dateformat

我的日期字段後已失去焦點,我希望它像顯示:

DD-MM-YYYY,但它有一個像

YYYY-MM-DD被保存在數據庫中。 。

這是我到目前爲止有:

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

現在它在所示日期字段像2009年11月25日(09年11月25日) 並張貼像2009年11月25日

有任何想法嗎?

回答

4

試試這個:

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

然後使用realdate當您發佈獲取的日期。

+0

如果我有多個datepicker,並且我僅使用一個jquery選擇器$(「#datepicker1,#datepicker2」)來設置datePicker,該怎麼辦? – anmarti 2012-11-15 17:31:52

2

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

我們兩個答案的組合應該讓你在那裏(大部分)安全。