0

次のようなフォームがあるとします。

var Sum1 = new Ext.form.FormPanel({
    id: 'Sum1',
    items: [{
        xtype: 'fieldset',
        title: 'Step 1: Calculating The Sum',
        items: [{
            xtype: 'numberfield',
            name: 'num1',
            label: 'First Number'
        },{
            xtype: 'numberfield',
            name: 'num2',
            label: 'Second Number'
        },{
            xtype: 'numberfield',
            name: 'num3',
            label: 'Third Number'
        },{
            xtype: 'numberfield',
            name: 'num4',
            label: 'Fourth Number'
            },{
            xtype: 'button',
            name: 'CalcSum',
            ui: 'Confirm',
            text: 'Calculate Sum',
            handler: function() {
                Ext.getCmp('Total').setValue('1');
            }
        }]
    },{
    xtype: 'fieldset',
    title: 'Calculated Total',
    items: [{
        xtype: 'textfield',
        name: 'Total',
        id: 'Total',
        placeHolder: 'Your Calculated Total'
    }]
});

私がしたいのは、num1-4それらを合計して値を返すいくつかのメソッドで値を使用することです-それは私の textfield に設定されますTotal

私は Sencha Touch を始めたばかりで、Sencha Touch 2.0 を使用しています。

ありがとう。

4

1 に答える 1

0

その方法を聞きblurます。このメソッドは、テキストフィールドがフォーカスを失った後に呼び出されます。totalその後、あなたは自分のことをしてフィールドに吐き出すことができますか?

API を参照してください: http://docs.sencha.com/touch/2-0/#!/api/Ext.field.Text

多分:

blur: function() {
  // code here
}

または(私はもっと良いと思います)

blur: yourFunctionHere()

UPDATE 2012-01-30: これを同じファイルで定義することも、フィールドごとに定義することもできます。

items: [{
        xtype: 'numberfield',
        name : 'num1',
        label: 'First Number',
        blur : function() {
             console.log('You blurred me!');
             // get current value of total field and sum it with me (if I am not null!)
        }
    },{

より良い方法は、1 つの関数を定義することです。同じファイルで実行できます。

items: [{
        xtype: 'numberfield',
        name : 'num1',
        label: 'First Number',
        blur : doCalculateTotals()
    },{
于 2012-01-31T07:49:13.753 に答える