我在Firefox 4上有一个自制的jquery小部件有问题(我还没有测试过其他版本的Firefox)。
我的小部件的目的只是在输入“file”类型后添加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,则只记住第一个文件。 问题的根源似乎是'追加'方法。但我也尝试过insertAfter,insertBefore,add,wrap等方法,但总有同样的问题。
有人知道如何解决这个问题吗?
注意:我已经尝试过IE 9但是这个糟糕的浏览器会在按下F5后记住字段值,因此该问题不适用于此浏览器。
编辑:错误更正