2

ファイルアップロードフィールドとともに、さまざまなテキストフィールドとコンボボックスで構成されるフォームがあります。ファイルは正常にアップロードされていますが、他のフォーム フィールドにアクセスしようとすると、firebug の post パラメータにそれらが表示されません。コントローラーのコードを以下に示します。

uploadFile : function(button) {

    **var form = button.up('form');
    var Title = form.down('Title');
    console.log(Title);** // This returns null

    if (form.getForm().isValid()) {
        form.getForm().submit({

            url : 'data/Downloads.aspx',
            waitMsg : 'Saving the file...',

            params : {
                mode : 'UPLOADFILE',
                client : SYSTEM.CLIENT
            },

            success : function(f, a) {
                Ext.Ajax.request({

                    url : 'data/Downloads.aspx',
                    params : {
                        mode : 'SAVE',
                        fileName : a.result.fileName

                    },

                    success : function() {
                        this.mWin = Ext.create('Campus.view.GenMessage');
                        this.mWin.addMessage(true, LANG.SUCT, LANG.SUCTxt2);
                    },

                    failure : function() {

                    }
                });

            },

            failure : function() {

            }
        })
    }
},

他のフォーム フィールドにアクセスしてサーバーに送信する方法を教えてください。

4

2 に答える 2

2

私はあなたが何をしているかを完全には理解していません。あなたはフォームを送信しているようで、サーバーへの ajax 呼び出しを行っています???

それにもかかわらず、すべてのフォーム フィールドはファイル入力と共にサーバーに送信されます。フレームワークは、ファイルのアップロードのため、通常どおり ajax を使用してフォームを送信しません。これに関するドキュメントを参照してください: http://docs.sencha.com/ext-js/4-1/#!/api/Ext.form .Basic-method-hasUpload

于 2012-11-08T03:18:43.270 に答える
0

ご指導ありがとうございます。

実際、私はドキュメントをアップロードしようとしており、同時にファイルに関する情報をデータベースに保存しようとしていました。そして、それが私がAJAXリクエストを作ろうとしていた理由です。しかし、ここに私がしたことがあります:

uploadFile : function(button) {

        var form = button.up('form');

        if (form.getForm().isValid()) {
            form.getForm().submit({

                url : 'data/Downloads.aspx',
                waitMsg : 'Saving the file...',

                params : {
                    mode : 'UPLOADFILE',
                    client : SYSTEM.CLIENT

                },

                success : function(form, a) {
                    this.mWin = Ext.create('App.view.GenMessage');
                    this.mWin.addMessage(true, LANG.SUCT, LANG.SUCTxt1);


                },

                failure : function() {

                }
            })
        }
    },
于 2012-11-22T11:41:17.517 に答える