0

EXTJS には DateField があります。ユーザーがそのフィールドに「abcd」と入力した場合、値を取得すると、「abcd」ではなく空の文字列が返されます。

ユーザーに dateField の正しい値を入力させるにはどうすればよいですか? または、そのフィールドで実際の入力を取得するにはどうすればよいですか?

ありがとう。

4

2 に答える 2

3

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
    }]
});?
于 2012-07-30T19:39:46.027 に答える
0

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"

于 2012-07-30T18:52:24.560 に答える