在选择之前选择的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
事件未被触发我将关闭此问题并继续寻找解决方案关于那个问题。
答案 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);