EXTJS には DateField があります。ユーザーがそのフィールドに「abcd」と入力した場合、値を取得すると、「abcd」ではなく空の文字列が返されます。
ユーザーに dateField の正しい値を入力させるにはどうすればよいですか? または、そのフィールドで実際の入力を取得するにはどうすればよいですか?
ありがとう。
EXTJS には DateField があります。ユーザーがそのフィールドに「abcd」と入力した場合、値を取得すると、「abcd」ではなく空の文字列が返されます。
ユーザーに dateField の正しい値を入力させるにはどうすればよいですか? または、そのフィールドで実際の入力を取得するにはどうすればよいですか?
ありがとう。
datefield には、getValue とは異なる getRawValue メソッドもあります。これは、getValue が行う検証を適用しないためです。
ユーザーに正しい値を入力させるには、reMask プロパティを使用できます。デフォルトの検証ロジックでは、無効なエントリが許可され、赤いハイライトなどでエントリが無効であることを示します。reMask マスクは、キーボード入力をフィルター処理します。この例では、数字とスラッシュに制限されており、必要な日付形式に拡張できます。
Ext.create('Ext.form.Panel', {
renderTo: Ext.getBody(),
width: 300,
bodyPadding: 10,
title: 'Dates',
items: [{
xtype: 'datefield',
anchor: '100%',
fieldLabel: 'From',
emptyText: 'mm/dd/yyyy',
maskRe: /[0-9\/]/,
name: 'from_date',
maxValue: new Date() // limited to the current date or prior
}, {
xtype: 'datefield',
anchor: '100%',
emptyText: 'mm/dd/yyyy',
maskRe: /[0-9\/]/,
fieldLabel: 'To',
name: 'to_date',
value: new Date() // defaults to today
}]
});?
getValue
たとえば、dateField で methodを使用すると、戻り値は になりWed Jul 25 2012 00:00:00 GMT-0300 (BRT)
ますが、使用して日付をフォーマットすることができExt.util.Format.date(date, 'd/m/Y H:i:s');
、戻り値は になります"25/07/2012 00:00:00"
。