У меня проблема с самодельным виджетом jquery в Firefox 4 (я не тестировал другие версии Firefox).
Цель моего виджета - просто добавить 2 элемента ввода после вводавведите «файл».Итак, вот вызов для виджета и мой HTML-код:
<script>
$(function() {
$('#first_file, #second_file').customFileInput();
});
</script>
<div>
<input type="file" id="first_file" />
</div>
<br /><br />
<div>
<input type="file" id="second_file" />
</div>
Если вы отключите виджет и выберите 2 файла, а затем обновите страницу с помощью F5, браузер запомнит оба из них.
Теперь вот мой код виджета:
(function( $, undefined ) {
$.widget('ui.customFileInput', {
_create: function() {
var self = this;
self.fileInput = self.element;
var parent = self.fileInput.parent();
self.textInput = $('<input type="text" />');
self.browseInput = $('<input type="button" value="Do it" />');
parent.append(self.textInput);
parent.append(self.browseInput);
}
});
$.extend($.ui.customFileInput, {
version: "1.0",
});
})( jQuery );
Если при активированном виджете вы пытаетесь выбрать 2 файла, а затем нажимаете F5, запоминается только первый файл.Источником проблемы, похоже, является метод 'append'.Но я также пытался использовать методы insertAfter, insertBefore, add, wrap и другие, но всегда возникает одна и та же проблема.
Кто-нибудь знает, как решить эту проблему?IE 9, но этот ужасный браузер не запоминает значения полей после нажатия клавиши F5, поэтому проблема не применима в этом браузере.
РЕДАКТИРОВАТЬ: ошибка исправлена