我有一个模型和商店,它从我的表单字段中获取值。 我的表单包含textfield,selectfield,datepickerfield和radiofield。
我从表单中获取值并使用它们更新我的模型。稍后我将模型加载到表单中时,除了datepickerfield之外,值会重新出现在所有组件上。
我正在使用localstorage代理。我检查了数据库中的值,日期显示如下:“2011-12-13T18:30:00.000Z”
我认为这可能是问题所在。也许datepickerfield不知道如何加载格式。我该怎么办 ??
萨莎
答案 0 :(得分:0)
您可以使用以下代码将日期格式转换为其他格式。 最初设置日期模式,即
Date.patterns = {
ISO8601Long : "Y-m-d H:i:s",
ISO8601Short : "Y-m-d",
ShortDate : "n/j/Y",
LongDate : "l, F d, Y",
FullDateTime : "l, F d, Y g:i:s A",
MonthDay : "F d",
ShortTime : "g:i A",
LongTime : "g:i:s A",
SortableDateTime : "Y-m-d\\TH:i:s",
UniversalSortableDateTime : "Y-m-d H:i:sO",
YearMonth : "F, Y"
};
然后按如下方式应用此日期模式,即
yourDate.format(Date.patterns.ISO8601Short);
yourDate.format(Date.patterns.FullDateTime);
希望它会有所帮助...
答案 1 :(得分:0)
你告诉我的是格式化日期的方法,而不是如何格式化... 但是这个日期仍然没有加载&格式错了。 实际上我找不到答案,这就是你要做的事情:
您的showForm控制器(在表单中加载日期)应如下所示: showForm:function(params){
//load the model necessary
var model = BReimb.stores.ListStore.getAt(params.index);
//load all fields except datepickerfield
Ext.getCmp('formPane').load(model);
Ext.getCmp('MainView').setActiveItem(1);
//for datepicker field --> where the Ext.getCmp('date') is the id of my datepicker field in the form
if(model.data.date != "")
Ext.getCmp('date').setValue(new Date(model.data.date));
要设置日期格式,请使用itemTpl进行格式化: itemTpl:'{date:date(“d M Y”)}'
希望这有助于某人:D