ExtJS 版本:4.1.0
已回答 - 请参阅下面的回复......真的很愚蠢
我有一个包含几个字段的简单表单,其中一个是 xtype fileuploadfield。我在控制器方法click中的表单保存按钮上监听事件。this.control当click事件发生时,我运行一个方法saveForm,如下所示:
saveForm: function(button) {
/** Get the Window Object and retrieve the Form*/
var currentWin = button.up('window'),
form = currentWin.down('form');
/** Get the Form Object */
form = form.getForm();
/** ...continued... */
}
此时,在我的方法中,我可以console.log创建表单对象,检查对象_fields并查看我fileuploadfield在字段中输入的文件的路径(即 C:\fakepath\somefile.png)。我还可以执行form.getField('upload-field-id');以获取上传字段元素。该方法form.hasUpload()返回TRUE。
更重要的是,当我调用服务器form.submit()上var_dump()的$_FILES数组时,它是空的!
在我在 ExtJS 中看到的文件上传示例中,表单提交是通过handler视图中 Save 按钮上的函数发生的。由于我喜欢在控制器中保留处理按钮按下的逻辑,我希望这不是我唯一的选择!
任何输入将不胜感激,感谢您的宝贵时间。