2009-04-12 122 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... 
?> 

我们两个答案的组合应该让你在那里(大部分)安全。