0

我对 Firefox 4 上的自制 jquery 小部件有问题(我没有测试过其他版本的 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,则只记住第一个文件。问题的根源似乎是“追加”方法。但是我也试过insertAfter、insertBefore、add、wrap等方法,但总是出现同样的问题。

有人知道如何解决这个问题吗?

注意:我在 IE 9 上尝试过,但是这个糟糕的浏览器在按下 F5 后确实会记住字段值,所以这个问题不适用于这个浏览器。

编辑:错误更正

4

0 回答 0