1

你可以在这里看到问题http://bmi.sf.net/test.html

对于我正在使用的确切代码,右键单击此网站并View source在菜单中选择。

我正在使用 Jasny 引导文件上传插件。我有一个使用这个插件的表单。表单提交到一个处理 $_FILES 数组的 php 文件。

在上面的代码中,我使用了 jQuery 表单插件来查看表单提交的实时预览。php只是做一件事:print_r($_FILES)

它运行良好,除非发生以下一系列操作,$_FILES 数组为空:

  • 用户选择一个文件。显示正常的 php 输出。
  • 然后用户使用“x”按钮清除表单。按预期显示空数组。
  • 用户加载一个新文件。现在数组是空的,出乎意料。

如何解决这个问题?

如果用户不先清除表单而是直接加载新文件,则数组不为空。但是每个用户都不会这样做,所以我想解决给定的问题。

4

1 回答 1

1

看起来像一个比赛条件。fileupload 插件清除名称<input type="file">并设置一个<input type="hidden">来告诉服务器按下清除或提交之间的区别而不改变正常形式。但是,在您的情况下,您不想要这种行为。

为了快速而肮脏的修复,请始终设置<input type="file">更改的名称。

$('#filep').on('change', function() { $(this).attr('name', 'filep') });
于 2013-07-04T15:50:04.770 回答