您可以在此处查看问题http://bmi.sf.net/test.html。
对于我使用的确切代码,请右键单击此网站并在菜单中选择View source
。
我正在使用Jasny bootstrap fileupload插件。我有一个使用此插件的表单。表单提交到一个php文件,其中操作$ _FILES数组。
在上面的代码中,我使用了jQuery表单插件来查看表单提交的实时预览。 php正在做一件事:print_r($_FILES)
除非发生以下一系列操作,否则它的工作正常,$ _FILES数组为空:
如何解决这个问题?
如果用户不首先清除表单但直接加载新文件,则数组不为空。但是每个用户都不会这样做,所以我想解决给定的问题。
答案 0 :(得分:1)
看起来像竞争条件。 fileupload插件清除<input type="file">
的名称并设置<input type="hidden">
以告知服务器按下清除或提交而不更改正常形式之间的区别。但是在您的情况下,您不希望出现这种情况。
对于快速而肮脏的修复,请始终在更改时设置<input type="file">
的名称。
$('#filep').on('change', function() { $(this).attr('name', 'filep') });