我使用ExtJS 4.2。我想浏览文件时更改文件字段的值。这样做的原因是删除“C:\ fakepath”字符串。任何帮助表示赞赏。
答案 0 :(得分:2)
此C:\fakepath
来自浏览器,因此您无法看到真实路径,但可以隐藏路径并仅显示文件名。您可以通过扩展文件字段来实现:
Ext.define('Ext.form.field.ExtFile', {
extend: 'Ext.form.field.File',
onFileChange: function(button, e, value) {
var newValue = value.replace(/^c:\\fakepath\\/i, ''); // remove fakepath
return this.callParent([ button, e, newValue ]);
}
});
答案 1 :(得分:0)
我发现最好的方法是覆盖该字段。
这是ExtJs 4& S的解决方案。 5(在ExtJs 6上也适合我):http://code.tonytuan.org/2014/10/extjs-get-rid-of-fake-path-in-file-field.html
Ext.define('Ext.enhance.form.field.File', {
override: 'Ext.form.field.File',
onFileChange: function(button, e, value) {
this.duringFileSelect = true;
Ext.form.field.File.superclass.setValue.call(this, value.replace(/^.*(\\|\/|\:)/, ''));
delete this.duringFileSelect;
}
});