Javascript上传相同的文件

时间:2014-01-27 09:12:58

标签: javascript jquery file file-upload

在选择之前选择的onchange中的文件时,我遇到触发filefield事件的问题。我需要能够在上传文件时触发更改事件。

例如,我希望以下方案有效:

步骤1)用户选择test1.jpg

第2步)用户再次点击并选择test2.jpg

步骤3)用户再次点击并再次选择test1.jpg

如果是最后一个文件字段不再触发onchange事件。是否有可能使其触发?我在Google上搜索过,无法找到解决方案。我试图用新的输入字段替换输入字段,但这也不起作用。对于最后一个,我是按照以下方式做到的:

$('#picturesfile').replaceWith('<input type="file" name="filedata" id="picturesfile">');

更新

我用jsfiddle尝试了它并确实触发了更改事件,最初的问题是onselect jcrop事件未被触发我将关闭此问题并继续寻找解决方案关于那个问题。

1 个答案:

答案 0 :(得分:2)

每个HTML字符串jQuery解析并将其缓存在$.cache对象中,如果它少于512个符号。所以你只需要删除输入并像这样创建它:

//create new input
var $newInput = $('<input>', {
    type : 'file',
    name : 'filedata',
    id : 'picturesfile'
});
//remove old and append to parentNode new
$('#picturesfile').remove().parent().append(newInput);