Я использую версию 4.1.1 ExtJS.Поле загрузки файла сбрасывается при отправке формы
Я пытаюсь создать форму для загрузки файла, используя FileField следующим образом:
{
xtype: 'filefield',
itemId : 'my-file',
name: 'my file',
emptyText : 'No file chosen',
fieldLabel: 'Upload File',
submitValue: true,
allowBlank : false,
buttonText: 'Browse',
listeners: {
change: function(fld, value) {
var newValue = value.replace(/C:\\fakepath\\/g, '');
fld.setRawValue(newValue);
}
}
}
Когда форма отправлена, filefield
сбрасывается.
Как я вижу в http://www.sencha.com/forum/showthread.php?135109-File-upload-field-is-empty-by-re-submitting-of-the-form
Я пытаюсь переопределить filefield
к:
Ext.override(Ext.form.field.File, {
extractFileInput: function() {
var me = this,
fileInput = me.fileInputEl.dom,
clone = fileInput.cloneNode(true);
fileInput.parentNode.replaceChild(clone, fileInput);
me.fileInputEl = Ext.get(clone);
me.fileInputEl.on({
scope: me,
change: me.onFileChange
});
return fileInput;
}
Это исправны, когда я отправить форму.
Значение, которое я вижу в текстовом поле, не сбрасывается в пустые.
Однако, когда я снова отправлю форму без повторного выбора файла, данные, которые будут отправлены на сервер, равны нулю.
Данные, которые должны быть отправлены на сервер, должны быть сохранены.
Дополнительная информация:
Эта проблема происходит, когда я использую Chrome и IE, кажется, это отлично работает на Firefox.
Связано ли это с C:\\fakepath
, которое я вижу на текстовом поле при выборе файла?
Как исправить эту проблему?