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

谢谢你的指导dbrin。

实际上,我正在尝试上传文档,同时将有关文件的信息保存在数据库中。而且,这就是我试图发出 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 回答