我的表单包含各种文本字段和组合框,以及fileupload字段。文件正在成功上传,但是当我尝试访问其他表单字段时,它们在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() {
}
})
}
},
如何访问其他表单字段并将其发送到服务器。
答案 0 :(得分:2)
我不太关注你在做什么。你似乎提交表单,然后你正在对服务器进行ajax调用???
无论如何,所有表单字段都与文件输入一起发送到服务器。由于文件上传,框架不会像往常一样使用ajax提交表单,请参阅以下文档:http://docs.sencha.com/ext-js/4-1/#!/api/Ext.form.Basic-method-hasUpload
答案 1 :(得分: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() {
}
})
}
},