-1

ログインフォームの詳細をデータベースに保存したいので、次のコードを書きました。

私のビューコードでは

Ext.define('SampleForm.view.LoginForm', {
    extend: 'Ext.form.Panel',
    //id:'loginform',
    requires:[
            'Ext.field.Email',
            'Ext.field.Password'
    ],
    config: {
        fullscreen: true,
        layout:{
            type:'vbox'
        },
        items: [
            {
                xtype: 'fieldset',
                title: 'Login',
        id: 'loginform',
                items: [
                    {
                        xtype:'textfield',
                        label:'Name',
                        name:'name'
                    },
                    {
                        xtype: 'emailfield',
                        name: 'email',
                        label: 'Email'
                    },
                    {
                        xtype: 'passwordfield',
                        name: 'password',
                        label: 'Password'
                    }
                ]
            },
            {
                xtype: 'button',
                width: '30%',
                text: 'Login',
                ui: 'confirm',
        action:'btnSubmitLogin'
            }
        ]
    }
});

コントローラー内

Ext.define("SampleForm.controller.LoginForm", {
    extend: "Ext.app.Controller",

    config: {
        view: 'SampleForm.view.LoginForm',
        refs: [
        {
            loginForm: '#loginform',
            Selector: '#loginform'
        }
        ],
        control: {
            'button[action=btnSubmitLogin]': {
                tap: "onSubmitLogin"
            }
        }
    },
    onSubmitLogin: function () {

    alert('Form Submitted successfully');
    console.log("test");
    var values = this.getloginform();
    /* Ext.Ajax.request({
                      url: 'http://www.servername.com/login.php',
                      params: values,

                      success: function(response){
                          var text = response.responseText;
                          Ext.Msg.alert('Success', text);
                     }

                     failure : function(response) {
                           Ext.Msg.alert('Error','Error while submitting the form');
                           console.log(response.responseText);
                     }
              });*/
     form.submit({
           url:"http://localhost/sencha2011/form/login.php"
     });
    },
    launch: function () {
        this.callParent();
        console.log("LoginForm launch");
    },
    init: function () {
        this.callParent();
        console.log("LoginForm init");
    }
});

送信ボタンをクリックすると、アラートメッセージが表示されますが、値がデータベースに保存されません。コンソールでは、このエラーが発生します。UncaughtTypeError:Object[objectObject]にはメソッド'getloginform'がありません。

誰かがデータベースに値を挿入する方法を教えてもらえますか?

4

1 に答える 1

1

Javascriptでは大文字と小文字が区別されます。Sencha Touchのドキュメントから:

これらのゲッター関数は、定義した参照に基づいて生成され、常に同じ形式に従います-'get'の後に大文字の参照名が続きます。

ref 、、にgetterメソッドを使用しloginForm、フォーム値を取得するには、次を使用します。

var values = this.getLoginForm().getValues();
于 2013-01-18T15:28:03.593 に答える